基于Symbian平臺(tái)的流媒體播放器設(shè)計(jì)與實(shí)現(xiàn)
1 引言
繼語音通話、短信服務(wù)、數(shù)據(jù)通信之后,音樂無線下載及實(shí)時(shí)播放正在成為全球手機(jī)運(yùn)營商提供的新興服務(wù)之一,引發(fā)廣泛的關(guān)注。與傳統(tǒng)的基于個(gè)人電腦的音樂播放器相比,手機(jī)音樂播放器的優(yōu)勢(shì)在于其下載和播放方式的方便快捷,可以給用戶帶來輕松舒適的使用體驗(yàn)。以手機(jī)音樂播放器為媒介,運(yùn)營商可以依靠其自身對(duì)移動(dòng)通信網(wǎng)絡(luò)服務(wù)的強(qiáng)大控制力,為顧客提供更好的服務(wù)。由于移動(dòng)通信服務(wù)的靈活性和多樣性,使其在增值業(yè)務(wù)方面也有較強(qiáng)的擴(kuò)展性。
Symbian S60 平臺(tái)的MulTImedia Framework( MMF) API 可以為上層應(yīng)用程序提供多媒體服務(wù),為用戶創(chuàng)建和分發(fā)豐富多彩的音樂應(yīng)用。作為一個(gè)多媒體處理單元的插件集,MMF 提供了操作終端硬件的通用接口,支持不同的音頻操作,可實(shí)現(xiàn)本地回放和流式回放兩種模式,可播放多種音頻格式。
在現(xiàn)有基于Symbian OS 的多媒體播放器的相關(guān)文獻(xiàn)中,討論了基于Symbian 平臺(tái)的流媒體播放器移動(dòng)客戶端的設(shè)計(jì)原理,給出了指導(dǎo)性意見,并在結(jié)構(gòu)、緩沖等方面給出了優(yōu)化建議,在此基礎(chǔ)上提出了用戶界面的設(shè)計(jì)方案。但該文獻(xiàn)沒有給出多媒體技術(shù)的具體實(shí)現(xiàn)。本文設(shè)計(jì)并實(shí)現(xiàn)了基于Symbian 平臺(tái)的多媒體播放器,但其僅支持本地播放,并沒涉及到流式播放的相關(guān)技術(shù)。
MMusic 是一款基于MMF 架構(gòu),用于播放多種音樂文件的多媒體播放軟件。它不僅實(shí)現(xiàn)了音樂文件的本地播放,同時(shí)支持流式播放。除此之外,該音樂播放器還支持音樂下載、歌詞下載及播放同步等功能。其界面美觀、操作簡(jiǎn)單且具有多種功能。
2 系統(tǒng)總體框架設(shè)計(jì)
在設(shè)計(jì)系統(tǒng)框架時(shí),首先明確了播放器需要實(shí)現(xiàn)的四項(xiàng)基本功能: ①支持mp3、wmv、aac 等多種格式的本地音頻播放; ②支持流式音頻播放; ③支持歌曲搜索及下載的功能; ④支持歌詞同步的功能。
MMusic 播放器的程序?qū)崿F(xiàn)基于Symbian S60 平臺(tái)的應(yīng)用程序架構(gòu),采用多視圖框架,根據(jù)不同的功能構(gòu)造不同的視圖。其視圖包括播放界面( 主界面) 、搜索歌曲界面、音樂媒體庫界面和電臺(tái)列表界面。其中播放界面是整個(gè)播放器的核心界面,主要負(fù)責(zé)音頻媒體的播放,包括本地播放和流式播放。
根據(jù)播放模式的不同,動(dòng)態(tài)選擇相應(yīng)的菜單和播放引擎。本地播放使用CPlayerAdapter 引擎。該引擎使用音頻播放類CMdaAudioPlayerUtility 類及其相關(guān)的觀察器MMdaAudioPlayerCallback 來實(shí)現(xiàn)本地音頻播放。流式播放則使用CPluginAdaper 引擎來實(shí)現(xiàn),它使用了CMdaAudioOutputSTream 和MMdaAudioOutputStreamCallback 類。
MMusic 音樂播放器按功能可劃分為六個(gè)模塊:
①UI 模塊,負(fù)責(zé)各個(gè)界面顯示和界面間的切換,并對(duì)用戶按鍵進(jìn)行處理;②本地播放模塊,可以提供本地音頻文件播放及音量控制等服務(wù);③流式播放模塊,實(shí)現(xiàn)與服務(wù)器的交互與流式播放;④數(shù)據(jù)下載模塊,負(fù)責(zé)音頻數(shù)據(jù)的下載及存儲(chǔ);⑤歌詞同步模塊,保證音頻播放與歌詞播放的同步;⑥服務(wù)器模塊,提供音樂文件和歌詞等下載資源。不同模塊的關(guān)系如圖1 所示。
圖1 MMusic 播放器功能關(guān)系圖
評(píng)論