什么是 AVAudioPlayer 的 Mac 等价物?

Posted

技术标签:

【中文标题】什么是 AVAudioPlayer 的 Mac 等价物?【英文标题】:What is the Mac equivalent of AVAudioPlayer? 【发布时间】:2010-07-31 09:11:33 【问题描述】:

我正在将 iPhone 应用程序移植到 Mac。在 iPhone 上,我使用 AVAudioPlayer 播放声音,但在 Mac 上不存在。播放音频的 Mac 等效项是什么(希望像 AVAudioPlayer 一样简单,以便我可以轻松移植我的应用程序)?

此外,是否有任何开源库/样本/包装器可用于在 Mac 上播放音乐和声音文件?

【问题讨论】:

我正在使用 AudioQueues 可以吗? @brad 感谢编辑 【参考方案1】:

从 OS X 10.7 开始,AVAudioPlayer 可在 Mac 上使用,Apple recommends using this wherever possible.

【讨论】:

太好了...感谢您的信息【参考方案2】:

根据您需要的功能,Core Audio 可能会过于复杂。显而易见的简单方法是 NSSound。也可以使用隐藏的 QTMovieView 播放声音。

【讨论】:

【参考方案3】:

我写了一个用于音频播放的框架,叫做 SFBAudioEngine:http://github.com/sbooth/SFBAudioEngine

它可能比您想要的要多一些,但它比 NSSound 功能更强大,并且支持 Core Audio 本身无法处理的格式(FLAC、Musepack、Ogg Vorbis)。

【讨论】:

您的框架是否支持转换为 FLAC 格式?我迫切需要该转换器在我的应用中实现基于 Google 语音识别的服务。 它不支持从一种格式到另一种格式的显式转换,但您可以使用它将 FLAC 解码为 PCM。【参考方案4】:

看看Core Audio:

Core Audio 旨在满足 Mac OS X 中的所有音频需求。您可以使用 Core Audio 来生成、录制、混合、编辑、处理和播放音频。

【讨论】:

Core Audio 也存在于 iPhone 上。它是 ios 上的 AVAudioPlayer 和 Mac OS X 上的 NSSound 的低级对应物。

以上是关于什么是 AVAudioPlayer 的 Mac 等价物?的主要内容,如果未能解决你的问题,请参考以下文章

AVAudioPlayer 拒绝播放任何东西,但没有错误等

iOS 中的avaudioplayer支持哪些音频格式

播放外部音频时暂停 AVAudioPlayer

同步Iphone中两个或多个AVAudioPlayer的播放

AVAudioPlayer 本地音频设置番外篇:后台定时修改音频音量NSTimer

AVAudioPlayer 本地音频设置补充篇:后台播放设置