13

Android中AudioTrack类的getPlaybackHeadPosition ()方法返回播放头的位置,以帧为单位,它的等效值是多少毫秒?

4

2 回答 2

21

我猜它会是

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

换句话说,播放的帧数除以每秒的帧数。然后将结果乘以 1000 得到毫秒。

一帧由每个通道一个样本组成,因此应该等于采样率。

例如,如果getPlaybackHeadPosition( )返回8654getSampleRate( )返回,8000则自轨道开始以来的时间将为( 8654 / 8000 ) * 10001081.75ms。(假设浮点运算)

于 2012-05-01T10:06:38.657 回答
0

@Nike 的回答是对的。</p>

但是有一个问题。</p>

如果我们调用该MediaExtractor.seekTo方法,则AudioTrack.getPlaybackHeadPosition()返回累积值。</p>

MediaExtractor.getSampleTime() / 1000是当前位置的正确毫秒。

你可以检查一下!

于 2017-12-20T08:32:31.193 回答