我正在更新二十年前写的一个C ++程序,用于运行涉及声音精确启动和停止的科学实验。该程序还需要能够控制播放音量,暂停声音或在指定位置启动声音,循环声音指定的次数,以及控制频道映射。
研究人员希望在现代Mac OS X上运行该程序,但我以前从未在Mac上进行过任何开发。在Mac上用C ++实现上述目标的最简单方法是什么?
CoreAudio
似乎太复杂了。 NSSound
似乎具有我想要的所有功能,但据我所知,它仅在Objective-C中可用?是否可以将Objective-C与C ++混合使用?或者我应该考虑使用QuickTime
SDK?
感谢您的帮助。
答案 0 :(得分:2)
是的,您可以混合使用Objective-C和C ++。它是一种名为Objective-C++的混合语言。如果NSSound
具有您需要的所有功能,请选择它;如果没有,CoreAudio是要走的路。设置和集成更大的库(如QuickTime,OpenAL或FMOD)将更具挑战性。
答案 1 :(得分:1)
是的,您可以混合使用Objective-C和C ++。 Objective-C只是C,添加了一些东西,同样的东西可以在C ++之上分层而不是获得Objective-C ++(特别是Objective-C ++没有Objective-C中的C特性而不是C ++ )。
如果您需要非常低的延迟,可以直接使用CoreAudio。
另一个选项可能是OpenAL,它只是另一个内置框架OpenAL.framework。