如何结合 AudioQueuePause 和 AudioQueueGetCurrentTime 在 iPhone SDK 中恢复音频播放?

Posted

技术标签:

【中文标题】如何结合 AudioQueuePause 和 AudioQueueGetCurrentTime 在 iPhone SDK 中恢复音频播放?【英文标题】:How to combine AudioQueuePause with AudioQueueGetCurrentTime to resume audio Playback in iPhone SDK? 【发布时间】:2011-04-21 20:13:21 【问题描述】:

我的 iPhone 应用播放来自互联网的流式音频。

我需要结合 AudioQueuePause 和 AudioQueueGetCurrentTime 来暂停音频流,然后在用户再次按下播放时恢复播放。

如何使用 AudioQueueGetCurrentTime 实现 AudioQueuePause 以暂停和恢复音频播放?

【问题讨论】:

【参考方案1】:

其实我不需要将 AudioQueuePause 和 AudioQueueGetCurrentTime 结合起来来暂停音频流,然后在请求时恢复它。

首先,我创建了两个按钮(我的 PlayerViewController.m 中的 IBActions),一个用于暂停,另一个用于恢复音频,此外还有一个用于开始/停止的按钮。启动时,它必须先缓冲,然后才能播放音频。如果我再次按下按钮,它将停止,摆脱当前的 WiFi 或 3G 连接。

然后我只需要在 -(void)pauseAudiostreaming 方法中使用 AudioQueuePause(inAudioQueue);AudioQueueStart(inAudioQueue, NULL);在 -(void)resume 方法中。 NULL 意味着音频将在我暂停它的确切点尽快开始(然后我得出结论,没有必要使用 AudioQueueGetCurrentTime 获取当前时间),如下所示:

- (void)pauseAudioStreaming

    AudioQueuePause(inAudioQueue);   


- (void)resume

    AudioQueueStart(inAudioQueue, NULL); 

现在它不需要从音频的开头再次缓冲,但它会在请求时非常快速地暂停和恢复。

【讨论】:

以上是关于如何结合 AudioQueuePause 和 AudioQueueGetCurrentTime 在 iPhone SDK 中恢复音频播放?的主要内容,如果未能解决你的问题,请参考以下文章

pr音频不能在au中编辑?

Application::and() 与 With Server::post 结合使用

从 .au3 文件访问 .au3 文件

如何检查音频队列中的音乐是不是正在播放或暂停

如何使用 AutoIt (*.au3) 脚本在 CMD 窗口中发出命令?

如何根据符合特定条件的国家/地区代码重定向URL