基于Symbian平臺(tái)的流媒體播放器設(shè)計(jì)與實(shí)現(xiàn)
3. 3 歌詞同步
首先在用戶終端進(jìn)行本地搜索與正在播放的音樂(lè)文件名字相同的歌詞文件。若搜索到符合條件的文件,則對(duì)其進(jìn)行解析。把文件的每一行內(nèi)容作為一個(gè)數(shù)組單元存放在數(shù)組里,數(shù)據(jù)的單元包括有播放時(shí)間和歌詞內(nèi)容。由CMdaAudioPlayerUtility 類(lèi)的GetPosition( ) 函數(shù)獲得當(dāng)前音頻文件的播放位置,與數(shù)組中記錄的歌詞文件的時(shí)間做對(duì)比,來(lái)實(shí)現(xiàn)歌詞同步。若沒(méi)有搜索到歌詞文件,則用歌詞下載引擎從服務(wù)器下載并解析。
4 軟件實(shí)現(xiàn)及效果
根據(jù)播放器的整體架構(gòu)設(shè)計(jì),在Symbian 平臺(tái)上實(shí)現(xiàn)音樂(lè)媒體播放器,并在實(shí)際的移動(dòng)通信網(wǎng)絡(luò)中進(jìn)行了測(cè)試。測(cè)試環(huán)境是中國(guó)移動(dòng)GPRS /EDGE網(wǎng)絡(luò)。測(cè)試手機(jī)為Nokia N95,操作系統(tǒng)為V9. 2,用戶界面為S60 第三版。其ARM 主頻11 332MHz,內(nèi)存160MB。在真機(jī)上進(jìn)行測(cè)試時(shí),本地音頻文件播放流暢。而播放在線電臺(tái)的內(nèi)容時(shí)( 即流式播放) ,其效果會(huì)受到網(wǎng)絡(luò)狀況的制約,但整體比較流暢。
播放器在真機(jī)上的效果如圖4 所示。其中( a) 顯示的是播放器的功能菜單,( b) 為本地播放和歌詞同步的效果,( c) 顯示流式播放時(shí)連接服務(wù)器的狀態(tài),( d) 為連接服務(wù)器成功后流式播放的效果,界面上可以顯示當(dāng)前的連接速度、音頻文件的格式、流量等。
( a) 播放器功能菜單( b) 本地播放和歌詞同步的效果( c) 流式播放時(shí)連接服務(wù)器的狀態(tài)( d) 連接服務(wù)器成功后流式播放的效果
圖4 軟件效果圖
5 結(jié)束語(yǔ)
MMusic 音樂(lè)播放器很好的實(shí)現(xiàn)了音頻播放、音樂(lè)下載、歌詞同步等功能。在此基礎(chǔ)上,還可以增加一些音頻的效果,使用戶有更好的視聽(tīng)感受。同時(shí)在歌詞同步方面,程序還可以增加調(diào)整歌詞的功能,當(dāng)出現(xiàn)歌詞不同步時(shí),用戶可以根據(jù)實(shí)際情況進(jìn)行調(diào)整。
評(píng)論