我可以将旧的AVAudioPlayer与新的AVAudioEngine一起使用吗?

时间:2014-11-26 03:21:39

标签: ios ios8 core-audio avaudioplayer audiounit

我的应用程序使用AVAudioPlayer播放音频文件,并且我已经使用其大多数方法和属性来构建播放控制界面,其中包含播放/暂停,搜索等按钮。现在我想添加音高变换在iOS 8中使用新的AVAudioUnitTimePitch功能。我在this question中找到了示例代码,它在我运行它时有效,但它使用AVAudioPlayerNode而不是AVAudioPlayer。

有没有办法将AVAudioPlayer连接到AVAudioEngine而不是AVAudioPlayerNode?或AVAudioPlayerNode与AVAudioPlayer完全不同,尽管名称相似?

我问,因为如果我必须用AVAudioPlayerNode替换AVAudioPlayer,我将不得不重做我的大多数控制界面,以使用AVAudioPlayerNode中可用(或不可用)的不同方法和属性。

2 个答案:

答案 0 :(得分:3)

过去一两周我一直在研究这个问题。我的目标是创建一个模仿AVAudioPlayer功能的AVAudioEngine播放器。它似乎工作得很好。检查一下,如果您发现任何帮助,请告诉我。

https://github.com/danielmj/AEAudioPlayer

答案 1 :(得分:0)

AVAudioPlayer和AVAudioEngine是在iOS上使用audion的不同方式。有关简短说明的完整音频apis列表,请参阅以下文章:Audio APIs Owerview