在寻找时获取AudioQueueRef的当前时间戳

时间:2016-12-06 06:27:11

标签: ios objective-c audio-streaming audioqueue

我正在使用视频/音频流并使用AudioQueueRef播放音频。我使用当前时间AudioQueueRef来实时同步视频/音频帧。当我寻找指定的时间时,我得到的AudioQueueRef的当前时间不是返回正确的值,它只是在时间之前连续返回值。我认为问题是我没有重置AudioQueueRef的所有旧对象。但我尝试了很多方法,我没有得到期望当前的时间价值。有人对此案有所了解吗?谢谢高级。

方法我获取AudioQueueRef的当前时间

- (double)currentTime {
    double timeInterval = 0;
    AudioTimeStamp timeStamp;

    AudioQueueGetCurrentTime(_AudioQueues, NULL, &timeStamp, NULL);
    timeInterval = 1000 * timeStamp.mSampleTime / self.inFormat.mSampleRate; // convert to miliseconds
    return timeInterval;
}

我尝试在搜索时重置值的方法。如果我使用下面的任何方法,当前时间将返回负值。

AudioQueueFreeBuffer(_AudioQueues, _AudioBuffer);
AudioQueueFlush(_AudioQueues);
AudioQueueReset(_AudioQueues);

P / S:在寻求之前所有事情都是正确的,在寻求之后,时间戳是连续返回值。

0 个答案:

没有答案