在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于Symbian平臺(tái)的流媒體播放器設(shè)計(jì)與實(shí)現(xiàn)

            基于Symbian平臺(tái)的流媒體播放器設(shè)計(jì)與實(shí)現(xiàn)

            作者: 時(shí)間:2011-05-27 來源:網(wǎng)絡(luò) 收藏

              3 關(guān)鍵技術(shù)的介紹

              3. 1 音頻播放

              音頻播放功能可以通過MMF 所提供的接口來實(shí)現(xiàn)。其中音頻播放類CMdaAudioPlayerUtility 類提供本地播放的API,而CMdaAudioOutputStream 類則提供流式播放的API。

              3. 1. 1 本地播放引擎

              MMusic 播放器把對(duì)音頻文件的初始化、播放、暫停等操作封裝在本地播放引擎CPlayer - Adapter中。該引擎包含支持音頻回放操作和簡(jiǎn)單元數(shù)據(jù)讀取操作的音頻播放類CMdaAudio - PlayerUtility。由于它的所有操作都是異步的,需要一個(gè)客戶端來*音頻播放操作。播放引擎CPlayerAdapter 須繼承MMdaAudioPlayerCallback 接口類。該接口類提供了兩個(gè)方法,MapcInitComplete( ) 和MapcPlayComplete( ) 。本地播放流程如圖2 所示。首先通過調(diào)用CMdaAudioPlayerUtility: : NewFilePlayerL( ) 函數(shù)構(gòu)造并創(chuàng)建一個(gè)音頻播放器的實(shí)例。當(dāng)打開及初始化一個(gè)音頻采樣的工作結(jié)束后,系統(tǒng)自動(dòng)調(diào)用MapcInit-Complete( ) 方法,通知客戶端創(chuàng)建實(shí)例的結(jié)果。若成功創(chuàng)建,則可調(diào)用CMdaAudioPlayerUtility: : Play( ) 方法來播放音頻文件。當(dāng)播放某段音頻采樣操作完成后,系統(tǒng)再通過MapcPlayComplete( ) 回調(diào)函數(shù)通知客戶端播放已完成。

              3. 1. 2 流式播放引擎

              對(duì)于流式音頻播放,則使用多媒體框架的CMdaAudioOutputStreamAPI。CPluginAdaper 為封裝好的流式播放引擎,由它來調(diào)用流媒體播放的相關(guān)接口。本地內(nèi)容播放和流式播放的主要不同在于文件打開方式、初始化方法及對(duì)音頻數(shù)據(jù)流的處理方式。

              要實(shí)現(xiàn)流式播放,在程序里需要編寫一個(gè)實(shí)現(xiàn)了MMdaAudioOutputStreamCallback 的客戶端類。

              這個(gè)類提供三個(gè)回調(diào)函數(shù),向客戶端提示音頻輸出的流式過程結(jié)果,讓程序能處理可能的錯(cuò)誤。這些回調(diào)函數(shù)是MaoscOpenComplete( ) 、MaoscBufferCopied() 及MaoscPlay - Complete ( ) ,它們都必須由CMdaAudioOutputStream 類的使用類實(shí)現(xiàn)。因此,CPluginAdaper 須繼承觀察類MMdaAudioOutputStreamCallback來得到流式播放過程的結(jié)果。

            本地播放流程圖

            圖2 本地播放流程圖

              在實(shí)現(xiàn)流式播放前,需要與服務(wù)器進(jìn)行連接,獲得待播放的音頻數(shù)據(jù)流。在MMusic 播放器里,使用套接字來實(shí)現(xiàn)服務(wù)端與客戶端的通信??蛻舳耸紫刃枰B接到 OS 套接字服務(wù)器,然后打開一個(gè)套接字并指定TCP 作為傳輸協(xié)議。接著從列表文件得到服務(wù)器的IP 地址和端口,向服務(wù)器發(fā)送請(qǐng)求。等服務(wù)器作出響應(yīng)后,讀取響應(yīng)的數(shù)據(jù)并進(jìn)行分析,用來初始化播放引擎??蛻舳死^續(xù)對(duì)服務(wù)端請(qǐng)求播放的音頻數(shù)據(jù)。

              得到要播放的音頻數(shù)據(jù)流后,則開始流式播放。



            關(guān)鍵詞: Symbian 流媒體播放器

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉