2012-03-01 46 views
2

我有一個Vorbis流,我可以解碼到PCM,如果有必要的話,我有一個原始的h264流,所有這三個都支持Android的時候在一個容器中。想知道是否有任何方法可以在沒有任何容器的情況下將視頻和音頻樣本手動送入android MediaPlayer。我會想象我將不得不重寫MediaPlayer中的方法。有沒有人有這方面的經驗或有一個更簡單的方法來做到這一點?我無法想象它是不可能的...有沒有方法在Android API中播放原始音頻/視頻流?

回答

0

你也許能夠播放音頻PCM樣本(對於這一點,我想你可能不得不把一個WAV標題),但你可能無法播放H264沒有容器的基本流。在媒體框架(Stagefright)中,爲各種容器格式註冊了嗅探器函數,這些函數可以說明需要使用哪種解析器,然後創建提取器(解析器)。我不認爲你將能夠使用Android的內置媒體框架從應用程序播放H264基本流。

+0

我想我可能會得到pcm流工作。我想如果我繞過容器嗅探器,StageFright需要持續時間,SPS和PPS NAL以及視頻樣本的時間戳。我想知道netflix是如何做到的?感謝您的回答。它不是我想要在這裏,但那是沒問題的:-) – shibbybird 2012-03-02 15:35:34

+0

直到除非你在框架中做出改變,否則你可能無法告訴Stagefright你只是發送H264 NAL單位/持續時間等。我不確定netflix是否使用Android框架,但肯定它可以使用NDK,以便它可以擁有自己的媒體播放器並按照需要使用它(不使用Android媒體框架)。 – Mukesh 2012-03-05 05:32:19

+0

我認爲你的權利。我認爲Netflix正在使用NDK。無論如何我無法在Android SDK中管理零散的容器。那太糟糕了。感謝您的迴應。 – shibbybird 2012-03-05 18:58:43