2012-05-01 23 views

答えて

20

私はそれは言い換えれば

(track.getPlaybackHeadPosition()/track.getSampleRate()) * 1000.0 

、秒あたりのフレーム数で割っ果たしたフレームの数であろうと推測しています。結果を1000倍してミリ秒単位で取得します。

フレームはチャネルごとに1つのサンプルで構成されているため、サンプルレートと同等である必要があります。例えば

、​​であれば戻り8654getSampleRate()戻り8000次いで、トラックの開始からの時間が(8654/8000) * 1000又は1081.75msであろう。 @Nikeによって答えが。

右であるしかし、問題がある

+0

はい、あなたは正しいです。 –

+0

例えば、 – Nick

+0

の場合、オーディオが8000サンプル/秒の場合は、(track.getPlaybackHeadPosition()/ 8)現在の再生ヘッドの位置をミリ秒単位で指定できます。 –

0

を(浮動小数点演算を仮定)。

我々はMediaExtractor.seekToメソッドを呼び出すと、​​戻り値を蓄積する。

MediaExtractor.getSampleTime()/1000されます現在の位置の右のms。

あなたがチェックアウトすることができます!

関連する問題