对于我打算很快启动的项目,我将需要播放压缩和未压缩的音频文件.为此,我打算使用Core Audio框架.但是,我没有音频编程的经验,我真的不知道从哪里开始.是否有任何初学者级资源或示例项目可以演示如何使用Core Audio构建简单的音频播放器?
虽然这个问题已经得到了回答..我想补充一些提示,因为我几个月来一直在努力解决同样的问题:
在马特·加拉格尔音频流教程是一个明确的必须的.除了提供流式音频直播..其还提供了多线程的一个简单的例子..一个很好的例子这使我下一个非常重要的一点
在Apple的并发指南中..他们建议不要使用多线程..并给你一些建议,如GCD和NSOperations等等.在核心音频方面不是一个好的想法..至少是实时音频.. b/c实时音频对任何类型的阻塞或昂贵的操作都非常敏感.超出你的想象(即使有时甚至简单的NSLog语句都可以使音频分解甚至根本不播放!!)这是关于这一点的不可或缺的读物音频的一部分.
音频编程是一种不同于我们大多数人习惯的编程.因此,花点时间去理解概念......其中很多都需要时间来吸收...例如音频文件格式和音频流格式之间的区别..压缩音频和PCM(非压缩)音频之间的区别..例子比比皆是.
一个关键点让我理解:访问iPad库中的音频文件..读取它们的唯一方法是通过AVAssetReader API方法.. 而不是通过其他API,如AudioFileReadPackets等..(尽管如果你存储一个文件在你的项目中手动..然后你可以).. AVAssetReader比其他API更不方便用户..但一旦核心音频的概念沉入...你将找不到很多区别..我的示例使用AVAssetReader
看看我和Justin 在这里讨论过的问题......在其中你会看到很多我陷入困境的陷阱,你会明白如何避免它们.请记住,特别是使用Core Audio ..它不是要知道如何解决问题......而是要知道首先要解决什么问题.
如果您或任何其他人对核心音频有任何疑问,请随时写一个关于堆栈溢出的问题,并通过评论我自己的一个问题来指出我只是为了引起我的注意..我' 社区在这里得到了很多帮助,我真的想提供帮助作为回报