2017-02-18 6 views
0

アイブ氏はExoPlayerが、最近、そのソースコードを勉強仕組みを理解しようとしました。なぜGoogleのExoPlayerはAndroidの低レベルAPIを使用してMediaExtractorを停止しますか?

は、符号化/復号化部に私はTrackRendererがMediaCodecクラスからの低レベルAPIをラップし、データを符号化/復号するためにそれを使用することを見出しました。

しかし、抽出部分では、低レベルのAPI MediaExtractorを使用する1つのクラス - > FrameWorkSampleSource.javaとExoPlayer 2.0で廃止された廃止予定のものしか見つけられません。

はexoplayerは、ソースからデータを抽出するために、この低レベルAPIを使用しdoes notのない理由はありますか?私は、これは..... Androidデバイスにメディア・データを抽出するための唯一の方法であるExoPlayerはJavaで書かれたカスタムエクストラクタを使用しています

おかげ

答えて

1

this packageを参照してくださいと思いました。

理由について:

  • MediaExtractorが ExoPlayerに適していないスレッドモデルを使用しています。

    いくつかの理由があります。

  • それはまた、私たちが好きな としてバッファオーバーとして多くのコントロールを提供していません。 MediaExtractor 下の抽出の
  • 実装は、Androidのバージョンによって異なります。
  • MediaExtractor 下のエクストラクタは、私たちがExoPlayerで 抽出をサポートすることができますいくつかの機能を欠いています。

https://github.com/google/ExoPlayer/issues/2580

を参照してください。
関連する問題