97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

  您的位置:華清遠(yuǎn)見(jiàn)教育科技集團(tuán) >> 新聞動(dòng)態(tài) >> Android資料 >> Android Stagefright多媒體框架  
 
Android Stagefright多媒體框架
分享到:

Stagefright框架是Android 2.3正式引入的多媒體框架,其在Android 2.0中就已經(jīng)添加到Android的代碼庫(kù)中。Stagefright框架的引入對(duì)上層應(yīng)用沒(méi)有影響,其接口在原生的多媒體服務(wù)中引入。

static sp< MediaPlayerBase> createPlayer(player_type playerType, void* cookie,notify_callback_f notifyFunc)
    {
        ……
        case STAGEFRIGHT_PLAYER:
        LOGV("create StagefrightPlayer");
        p = new StagefrightPlayer;
        break;
        ……
    }

Stagefright框架和OpenCORE框架切換非常簡(jiǎn)單,目前Stagefright已經(jīng)成為默認(rèn)的媒體播放器。

static player_type getDefaultPlayerType()
    {
        return STAGEFRIGHT_PLAYER;
    }

Stagefright框架并沒(méi)有完全拋棄openCORE框架的內(nèi)容,而是封裝了一個(gè)OMX層用于引用openCORE的OMX組件部分。

Stagefright框架本身同樣比較復(fù)雜,下面分播放框架和記錄框架兩部分進(jìn)行簡(jiǎn)要說(shuō)明。

1.播放框架

Stagefright的播放主要是圍繞著AwesomePlayer進(jìn)行的, Stagefright播放框架的類(lèi)圖如圖1-1所示。

圖1-1  Stagefright播放框架的類(lèi)圖
圖1-1 Stagefright播放框架的類(lèi)圖

在Stagefright播放框架中,AwesomePlayer是重要的一個(gè)類(lèi),如果支持硬件視頻渲染,則需要對(duì)VideoRenderer進(jìn)行實(shí)現(xiàn),在Qualcomm平臺(tái)上,相應(yīng)的類(lèi)為QComHardwareRenderer。如果不支持硬件視頻渲染,系統(tǒng)將采取軟件渲染的方式,相應(yīng)的渲染類(lèi)為SoftwareRenderer。當(dāng)然軟件渲染會(huì)會(huì)造成系統(tǒng)性能的下降。也不支持高清視頻。

解析器的封裝是通過(guò)MediaExtractor類(lèi)進(jìn)行的,對(duì)于不同的多媒體格式,針對(duì)MediaExtractor進(jìn)行實(shí)現(xiàn)即可,目前Stagefright支持的媒體播放格式包括WAV、OGG、MP4、AMR、MP3等。

AwesomePlayer通過(guò)AwesomeEvent事件來(lái)驅(qū)動(dòng)整個(gè)播放過(guò)程。

具體的解碼過(guò)程通過(guò)OMXCodec根據(jù)文件格式調(diào)用不同的解碼器進(jìn)行解碼,Stagefright播放框架提供的解碼器包括AMRNBDecoder、AMRWBDecoder、AACDecoder、AVCDecoder、G711Decoder、M4vH263Decoder、VorbisDecoder、VPXDecoder等。

2.記錄框架

在Stagefright記錄框架中,StagefrightRecorder是重要的一個(gè)類(lèi)。Stagefright記錄框架的類(lèi)圖如圖1-2所示。

圖1-22  Stagefright記錄框架的類(lèi)圖
圖1-22 Stagefright記錄框架的類(lèi)圖

Stagefright記錄框架的音頻數(shù)據(jù)源通過(guò)AudioSource配置,視頻數(shù)據(jù)源通過(guò)CameraSource配置。針對(duì)不同多媒體格式的記錄過(guò)程,Stagefright記錄框架提供了AMRWriter、MPEG2TSWriter、MPEG4Writer等類(lèi)進(jìn)行支持。

具體的編碼過(guò)程通過(guò)OMXCodec根據(jù)文件格式調(diào)用不同的編碼器進(jìn)行編碼,Stagefright記錄框架提供的編碼器包括AMRNBEncoder、AMRWBEncoder、AACEncoder、AVCEncoder、M4vH263Encoder等。

 更多相關(guān)文章

·Android PVPlayer引擎A/V同步技術(shù)
·Android OSCL底層移植
·OpenCORE文件解析和組合處理
·Android OpenCORE多媒體引擎
·Android PVPlayer引擎的實(shí)現(xiàn)