過(guò)去一段時(shí)間,開(kāi)發(fā)者圈子里關(guān)于“鴻蒙開(kāi)發(fā)是不是越來(lái)越香了”的聲音越來(lái)越多。
從早期的系統(tǒng)能力適配,到如今高質(zhì)量三方組件不斷上線,鴻蒙開(kāi)發(fā)體驗(yàn)的變化,已經(jīng)從“能不能用”,進(jìn)化到“好不好用”。尤其在音視頻、圖形渲染等復(fù)雜能力上,曾讓不少開(kāi)發(fā)者“卡脖子”的地方,正在被一個(gè)個(gè)社區(qū)共建項(xiàng)目補(bǔ)齊。越來(lái)越多企業(yè)加入鴻蒙生態(tài)共建,把真實(shí)業(yè)務(wù)場(chǎng)景中打磨成熟的技術(shù)沉淀下來(lái),開(kāi)源出來(lái),供鴻蒙開(kāi)發(fā)者共享使用。
最近,蜻蜓FM就做了一件非常實(shí)在的事——他們將自研的音頻播放組件 SmartXPlayer 正式開(kāi)源,并上架到了 OpenHarmony 三方庫(kù)中心倉(cāng)。
隨著音頻內(nèi)容消費(fèi)的普及和智能設(shè)備的爆發(fā)式增長(zhǎng),傳統(tǒng)的音頻播放器開(kāi)發(fā)模式正面臨嚴(yán)峻挑戰(zhàn)。作為一款專為鴻蒙多端場(chǎng)景打造的音頻播放引擎,蜻蜓FM開(kāi)源“SmartXPlayer”音頻播放組件旨在通過(guò)組件化、跨線程、高擴(kuò)展的技術(shù)路徑,為開(kāi)發(fā)者提供高性能、易集成的音頻播放能力,助力構(gòu)建更順滑、智能、便捷的音頻體驗(yàn)。
創(chuàng)新的跨線程播放架構(gòu),顯著提升系統(tǒng)響應(yīng)效率
傳統(tǒng)播放器的一大頑疾在于播放任務(wù)容易阻塞主線程,導(dǎo)致UI卡頓甚至閃退。SmartXPlayer推出了子線程播放技術(shù),通過(guò)引入鴻蒙系統(tǒng)的ThreadWorker機(jī)制,將耗時(shí)的播放任務(wù)(如數(shù)據(jù)請(qǐng)求、解碼等)全部交由子線程處理,而主線程則可以專注于UI渲染與狀態(tài)管理。這種“權(quán)責(zé)分離”的架構(gòu)設(shè)計(jì),使得播放性能提升了50%,從根本上緩解了主線程的壓力,有效解決了因播放任務(wù)導(dǎo)致的系統(tǒng)響應(yīng)問(wèn)題,保障了用戶界面的流暢性。
無(wú)縫的分布式投播與后臺(tái)播放,輕松適配多端設(shè)備
鴻蒙系統(tǒng)的核心優(yōu)勢(shì)在于其分布式能力,SmartXPlayer將這一能力無(wú)縫融入播放體驗(yàn)中。其內(nèi)置的SXCastPlayer模塊,實(shí)現(xiàn)了與本地播放器完全一致的標(biāo)準(zhǔn)化播放接口,這意味著開(kāi)發(fā)者無(wú)需為了投播功能而單獨(dú)學(xué)習(xí)一套新的API。播放器能夠?qū)崟r(shí)監(jiān)聽(tīng)設(shè)備的連接狀態(tài)變化,當(dāng)檢測(cè)到用戶的投播需求時(shí),會(huì)自動(dòng)將內(nèi)部播放邏輯從本地播放器平滑切換至SXCastPlayer,從而實(shí)現(xiàn)從“本地聆聽(tīng)”到“跨設(shè)備投播”的無(wú)縫銜接。此外,組件還具備完善的后臺(tái)播放與狀態(tài)同步能力,確保音頻體驗(yàn)在鴻蒙“全場(chǎng)景互聯(lián)”下始終流暢、連貫。
高度抽象的API接口,大幅降低開(kāi)發(fā)門(mén)檻與成本
SmartXPlayer的另一大亮點(diǎn)在于其簡(jiǎn)潔優(yōu)雅的接口設(shè)計(jì)。組件API經(jīng)過(guò)高度抽象,開(kāi)發(fā)者僅需少量代碼即可快速完成播放器的初始化與播放控制,甚至支持一行代碼實(shí)現(xiàn)多端投播。根據(jù)蜻蜓FM內(nèi)部的實(shí)踐估算,在實(shí)現(xiàn)同等復(fù)雜的音頻播放功能時(shí),與傳統(tǒng)方案相比,使用SmartXPlayer能夠?qū)㈤_(kāi)發(fā)時(shí)長(zhǎng)由2周縮短至2-3天,代碼量減少60%,維護(hù)成本降低50%,用戶體驗(yàn)得到顯著提升。目前,該方案已成功在蜻蜓FM鴻蒙版和蜻蜓電臺(tái)元服務(wù)中集成并穩(wěn)定運(yùn)行,整體表現(xiàn)優(yōu)異。
開(kāi)放共建,共筑鴻蒙生態(tài)
此次開(kāi)源是鴻蒙生態(tài)伙伴共建創(chuàng)新的又一范例。未來(lái),華為也將聯(lián)合更多伙伴,持續(xù)推出覆蓋更多場(chǎng)景的開(kāi)發(fā)者解決方案,與廣大開(kāi)發(fā)者一同提升鴻蒙應(yīng)用的創(chuàng)新體驗(yàn)與開(kāi)發(fā)效率,共建繁榮的鴻蒙新生態(tài)。
SmartXPlayer現(xiàn)已正式上線OpenHarmony三方庫(kù)中心倉(cāng)。開(kāi)發(fā)者可通過(guò)訪問(wèn)OpenHarmony官網(wǎng),點(diǎn)擊“開(kāi)發(fā)者”,在“三方庫(kù)中心倉(cāng)”內(nèi)搜索“smartxplayer”獲取源碼與文檔,快速完成接入與配置;或訪問(wèn)“HarmonyOS開(kāi)發(fā)者官網(wǎng)”, 點(diǎn)擊“開(kāi)發(fā)者社區(qū)”→“文章”→搜索“smartxplayer”獲取。
OpenHarmony三方庫(kù)中心倉(cāng)鏈接:
https://ohpm.openharmony.cn/#/cn/detail/@qtfm%2Fsmartxplayer
場(chǎng)景化共建官網(wǎng)鏈接:
https://developer.huawei.com/consumer/cn/blog/topic/03185823695795012
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.