2014-10-29 114 views
1

我能夠藉助MediaCodec和MediaMuxer錄製(編碼)視頻。接下來,我需要藉助MediaCodec和MediaMuxer來處理音頻部分和多路複用音頻。如何使用MediaCodec和MediaMuxer錄製視頻和音頻

我面臨兩個問題:

  1. 如何編碼的音頻與MediaCodec。我是否需要在單獨的線程中編碼音頻和 視頻?

  2. 如何將音頻和視頻數據傳遞給MediaMuxer(因爲 writeSampleData()方法一次只能使用一種類型的數據)?

我提到MediaMuxerTest但它使用MediaExtractor。我需要使用MediaCodec,因爲視頻編碼是通過MediaCodec完成的。如果我錯了,請糾正我。

任何建議或建議將非常有幫助,因爲沒有適合這些新API的文檔。

注:

  1. 我的應用程序的目標是到API 18+(安卓4.3+)。
  2. 我參考了Grafika進行視頻編碼。

回答

5
  1. 不,你不一定需要爲音頻建立單獨的線程,僅僅使用兩個單獨的MediaCodec實例。

  2. writeSampleData的第一個參數是trackIndex,它允許您指定每個數據包對應哪個軌道。 (通過運行addTrack兩次,每個軌道一次,您會得到兩個單獨的軌道ID。)

相關問題