2016-05-16 5 views
5

Androidでビデオ/オーディオを再生して録画する方法について少し混乱しています。私は持っていないときMediaRecorder MediaCodec VS + MediaMuxerメディアプレーヤーとメディアプレイヤー

-ToレコードをMediaPlayerのMediaExtractor VS + MediaCodec:

-Toプレイ:私は本当に1は、これらのクラスを使用する必要がありますどのような状況では理解していません1つまたは他のものを使用しますか? 申し訳ありませんが繰り返し質問があれば、私はそれが共通するはずだと思うが、私は何も見つかりませんでした。

答えて

5

高レベルのインターフェイス(MediaPlayer、MediaRecorder)が必要な機能(システムがサポートするフォーマットからディスプレイへの再生、またはカメラからファイルへのビデオの録画)を行うことができる場合は、それらはずっと簡単になります。

変更するチェーンの部分が高レベルのクラスの内側に隠れていることに気づいたら、さらにカスタムを行いたい場合は、下位レベルのクラスに移動することをお勧めします。例えば。 MediaExtractorのための;ファイルからデータのパケットを抽出し、デコードしないで表示/再生する場合は、MediaExtractorを使用することをお勧めします。システム自体がサポートしていない他のソースからパケットを受信したい場合は、MediaExtractorを使用せずにMediaCodecを使用することをお勧めします。同様に、カメラ以外のものを録画する場合や、MediaRecorderがサポートするファイル以外の場所に出力を書き込む場合は、MediaRecorderの代わりにMediaCodecを直接使用することをお勧めします。

はまた、高レベルのクラスも改善し、あなたが以前に手動で下のレベルのクラスを使用するためにあなたを必要なことを行うことができ、新しいAPIのバージョンでより柔軟もらうことに注意してください。例えば。 Android 5.0では、MediaRecorderはカスタムサーフェスから録画することができ、カメラだけでなく自分自身でレンダリングしたもののビデオを録画することができます。以前は4.3より低いレベルのクラスを使用していました。

関連する問題