新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于Symbian 平臺的流媒體播放器設計與實現

        基于Symbian 平臺的流媒體播放器設計與實現

        作者: 時間:2011-03-10 來源:網絡 收藏

          歌曲的下載分兩步來實現。首先把要搜索的歌曲名字用HTTP 引擎發送到服務器,服務器返回XML 格式的文件給客戶端。該XML 文件包含了搜索到的歌曲名字、下載地址、音頻文件格式和大小等信息??蛻舳擞肧ymbian 自帶的XML 解析器對文件進行解析,把解析后的歌曲信息存放在數組里。

          每個數組的元素為自定義的結構體,包含歌曲名,下載地址等內容。

          解析完畢后,切換到列表界面。列表界面顯示剛下載的XML 文件的解析結果。用戶可以根據自己的喜好選擇要下載的歌曲。此時,客戶端提取出歌曲下載的地址,用封裝好的HTTP 引擎向服務器發送下載請求??蛻舳耸紫扰袛啻螺d的文件是否已存在,如果不存在,則使用HTTP 引擎普通下載模式下載音頻文件。如果待下載的文件已存在,則獲得現有文件大小,并把它作為參數傳給HTTP 引擎,發送到服務器端,實現斷點續傳。具體代碼如下:



          3. 3 歌詞同步

          首先在用戶終端進行本地搜索與正在播放的音樂文件名字相同的歌詞文件。若搜索到符合條件的文件,則對其進行解析。把文件的每一行內容作為一個數組單元存放在數組里,數據的單元包括有播放時間和歌詞內容。由CMdaAudioPlayerUtility 類的GetPosition( ) 函數獲得當前音頻文件的播放位置,與數組中記錄的歌詞文件的時間做對比,來實現歌詞同步。若沒有搜索到歌詞文件,則用歌詞下載引擎從服務器下載并解析。

          4 軟件實現及效果

          根據播放器的整體架構設計,在Symbian 平臺上實現音樂媒體播放器,并在實際的移動通信網絡中進行了測試。測試環境是中國移動GPRS /EDGE網絡。測試手機為Nokia N95,操作系統為V9. 2,用戶界面為S60 第三版。其ARM 主頻11 332MHz,內存160MB。在真機上進行測試時,本地音頻文件播放流暢。而播放在線電臺的內容時( 即流式播放) ,其效果會受到網絡狀況的制約,但整體比較流暢。

          播放器在真機上的效果如圖4 所示。其中( a) 顯示的是播放器的功能菜單,( b) 為本地播放和歌詞同步的效果,( c) 顯示流式播放時連接服務器的狀態,( d) 為連接服務器成功后流式播放的效果,界面上可以顯示當前的連接速度、音頻文件的格式、流量等。

         軟件效果圖

        ( a) 播放器功能菜單( b) 本地播放和歌詞同步的效果( c) 流式播放時連接服務器的狀態( d) 連接服務器成功后流式播放的效果

        圖4 軟件效果圖

          5 結束語

          MMusic 音樂播放器很好的實現了音頻播放、音樂下載、歌詞同步等功能。在此基礎上,還可以增加一些音頻的效果,使用戶有更好的視聽感受。同時在歌詞同步方面,程序還可以增加調整歌詞的功能,當出現歌詞不同步時,用戶可以根據實際情況進行調整。


        上一頁 1 2 3 下一頁

        關鍵詞: 數據通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 达州市| 湘阴县| 永寿县| 廊坊市| 台东县| 新蔡县| 会同县| 吉木乃县| 凭祥市| 定襄县| 濮阳市| 邻水| 永兴县| 栖霞市| 保康县| 龙海市| 浦江县| 江阴市| 邯郸市| 遂溪县| 勃利县| 枣强县| 桃源县| 方山县| 彭州市| 西丰县| 仁寿县| 泊头市| 花垣县| 和静县| 邹平县| 山阳县| 清徐县| 安仁县| 南部县| 江津市| 易门县| 堆龙德庆县| 中山市| 梧州市| 汝城县|