Android中AudioTrack类的getPlaybackHeadPosition ()方法返回播放头的位置,以帧为单位,它的等效值是多少毫秒?
问问题
5399 次
2 回答
21
我猜它会是
( track.getPlaybackHeadPosition( ) / track.getSampleRate( ) ) * 1000.0
换句话说,播放的帧数除以每秒的帧数。然后将结果乘以 1000 得到毫秒。
一帧由每个通道一个样本组成,因此应该等于采样率。
例如,如果getPlaybackHeadPosition( )
返回8654
并getSampleRate( )
返回,8000
则自轨道开始以来的时间将为( 8654 / 8000 ) * 1000
或1081.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 回答