Ответ 1
Я предполагаю, что это будет
( track.getPlaybackHeadPosition( ) / track.getSampleRate( ) ) * 1000.0
Другими словами, количество воспроизводимых кадров делится на количество кадров в секунду. Затем вы умножаете результат на 1000, чтобы получить миллисекунды.
Кадр состоит из одного образца на канал и поэтому должен быть эквивалентен частоте дискретизации.
Например, если getPlaybackHeadPosition( )
возвращает 8654
и getSampleRate( )
возвращает 8000
, то время с начала дорожки будет ( 8654 / 8000 ) * 1000
или 1081.75ms
. (Предполагая арифметику с плавающей запятой)