iphone - 音频单元图暂停并重复

标签 iphone audio core-audio

我一直在尝试使用Apple提供的代码来实现音频单元图:
IphoneMixerEQGraphTest。到目前为止,我遇到了两个问题:

1.)我找不到暂停播放的方法

2.)提供的示例不断重复。有没有办法可以禁用重复或停止重复-使用计时器,在播放快要结束时截取某种缓冲区值?

谢谢。

最佳答案

无重复功能

到目前为止,我已经找到一种处理音频停止的方法-尽管它不是很漂亮:

我在AVAudioPlayer中加载了相同的音频文件-并从中获取声音文件的持续时间。然后,使用

performSelector:withObject:afterDelay: 

当声音文件应结束播放时,我可以停止AUGraph。

暂停AUGRAPH功能

事实证明,实现暂停非常简单。 AUGraph数据源未更改时-通过调用
[graphController startAUGraph]; or [graphController stopAUGraph];

只会暂停/继续播放。

尽管这会影响performSelector计时器。因此,要同时使用-暂停/不重复的可能性,应使用NSTimer-AUGraph暂停时-然后计时器也暂停。当AUGraph恢复时-计时器恢复计数,当达到提供的声音文件持续时间时-它将停止播放。

底线

通过使用来自AVAudioPlayer(或提供持续时间的任何其他播放器)的持续时间值-可以实现具有播放/暂停/停止(无重复/重复)/下一首歌曲/上一首歌曲/功能+ EQUALIZER的AUGraph声音播放器。

关于iphone - 音频单元图暂停并重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7977777/

相关文章:

javascript - 如何在我的 UIWebview 中注入(inject) javascript

iphone - NIslamicCalendar 和 NIslamicCivilCalendar

ios - 大音频文件的音频格式选择

objective-c - 检测新的视频和音频输入

ios - iOS在渲染回调处理之前添加音频效果?

ios - Iphone 应用程序中的 Google 图像搜索集成

iphone - 使用事件指示器和标签显示警报(可变)

javascript - jQuery的声音-播放和停止?

c - 音频生产者线程与 OSX AudioComponent 消费者线程和 C 中的回调

ios - iPhone 5 有 3 个麦克风。我可以改变我正在录制的那个吗?