我的iPhone应用程序播放来自互联网的流媒体音频。
我需要将AudioQueuePause与AudioQueueGetCurrentTime结合起来暂停音频流,然后在用户再次按下播放时恢复播放。
如何使用AudioQueueGetCurrentTime实现AudioQueuePause,以暂停和恢复音频播放?
答案 0 :(得分:0)
实际上我不需要将AudioQueuePause与AudioQueueGetCurrentTime结合起来暂停音频流,然后在请求时恢复它。
首先我创建了两个按钮(我的PlayerViewController.m中的IBActions),一个用于暂停,另一个用于恢复音频,除了我已经用于启动/停止的按钮。启动时必须首先缓冲,然后播放音频。如果我再次按下按钮,它将停止,摆脱当前的WiFi或3G连接。
然后我只需要在 - (void)pauseAudioStreaming方法和 AudioQueueStart(inAudioQueue,NULL)中使用 AudioQueuePause(inAudioQueue); ;在 - (void)恢复方法中。 NULL意味着音频将在我暂停的确切位置开始(然后我得出结论,没有必要使用AudioQueueGetCurrentTime获取当前时间),如下所示:
- (void)pauseAudioStreaming
{
AudioQueuePause(inAudioQueue);
}
- (void)resume
{
AudioQueueStart(inAudioQueue, NULL);
}
现在它不需要从音频的开头再次缓冲,但它会在请求时暂停并恢复得非常快。