2017-03-07 11 views
1

MediaCode、MediaExtractor、AudioTrackを使用して独自のMedia Playerの実装を作成しています。私はローカルに保存されたオーディオファイルから読み込んだデコードされたmp3サンプルにひずみを加える必要があります。したがってカスタム実装です。このため私は自分自身のseekTogetCurrentPositionの機能を実装する必要があります。しかし、後者をどのように実装するかについてはわかりません。Android:MediaExtractorとMediaCodecを使用して現在の位置を取得

私はプレイ中にポジションを増やすためにリスナーを設定できましたが、恐ろしいアイデアのように聞こえるかもしれませんが、おそらく正確ではありません。それを行う最善の方法は何ですか? APIレベル16以上をサポートしたいと考えています。

答えて

2

答えはMediaExtractorの使用に由来しています。抽出器がextractor.readSampleData(...)メソッドを介してサンプルデータを読み取ると、サンプルがロードされます。

extractor.getSampleTime()へのその後の呼び出しでは、現在の時刻はマイクロ秒になります。その値を1,000で割ると、ミリ秒の値が得られます。私はこの変数を読み取り値として保存し、それは私のカスタムプレーヤーのgetCurrentPosition()メソッドへのその後の呼び出しのソースです。

+0

'getCurrentPosition()'メソッドで 'extractor.getSampleTime()'を使用していますか? – Kristopher

関連する問題