如何在 Mac OS X 上使用 C++ 播放声音?
Posted
技术标签:
【中文标题】如何在 Mac OS X 上使用 C++ 播放声音?【英文标题】:How do I play sounds with C++ on Mac OS X? 【发布时间】:2012-05-24 15:12:11 【问题描述】:我正在更新一个 20 年前编写的 C++ 程序,以运行涉及精确启动和停止声音的科学实验。程序还需要能够控制播放音量、暂停声音或在指定位置开始声音、循环声音指定次数以及控制通道映射。
研究人员希望在现代 Mac OS X 上运行该程序,但我之前从未在 Mac 上进行过任何开发。在 Mac 上用 C++ 实现上述目标的最简单方法是什么?
CoreAudio
似乎太复杂了。 NSSound
似乎拥有我想要的所有功能,但据我所知,它仅在 Objective-C 中可用?是否可以将 Objective-C 与 C++ 混合使用?或者我应该考虑使用QuickTime
SDK?
感谢您的帮助。
【问题讨论】:
【参考方案1】:是的,您可以混合使用 Objective-C 和 C++。这是一种名为Objective-C++ 的混合语言。如果NSSound
拥有您需要的所有功能,那就去吧;如果没有,CoreAudio 就是要走的路。设置和集成更大的库(如 QuickTime、OpenAL 或 FMOD)将更具挑战性。
【讨论】:
【参考方案2】:是的,您可以混合使用 Objective-C 和 C++。 Objective-C 只是添加了一些东西的 C,同样的东西可以放在 C++ 之上而不是得到 Objective-C++(特别是 Objective-C++ 没有 Objective-C 中的 C 特性,但不是 C++ )。
如果您需要非常低的延迟,直接使用 CoreAudio 可能会很有用。
另一个选项可能是 OpenAL,它仅作为另一个内置框架 OpenAL.framework 提供。
【讨论】:
以上是关于如何在 Mac OS X 上使用 C++ 播放声音?的主要内容,如果未能解决你的问题,请参考以下文章