Mac OS X 声音输出
Posted
技术标签:
【中文标题】Mac OS X 声音输出【英文标题】:Mac OS X sound output 【发布时间】:2012-07-05 08:05:53 【问题描述】:有没有关于如何在 Mac OS X 上输出原始声音缓冲区的示例?
类似pa_simple_write()
的pulseaudio 或waveOutWrite()
来自WINAPI。
【问题讨论】:
【参考方案1】:您需要创建一个AudioQueue。
接下来你需要allocate a buffer。分配后,然后用数据和enqueue it 填充它。最后你打电话给AudioQueueStart。然后,您可以立即调用 AudioQueueStop,并将 false 作为最后一个参数。
不过,如果您需要同时播放多个声音,上述方法就不能很好地工作。如果您希望这样做,AFAIK,您将需要一个更复杂的设置,将音频混合到缓冲区中。不过这很快就会变得复杂......
【讨论】:
【参考方案2】:我遇到的最简单的方法是使用libao。方便的是,它也是跨平台的。
【讨论】:
好消息,但我已经实现了 windows 和 linux,没有 SDL 或 libao 等库,只有 mac os 剩下 CoreAudio 或类似的东西...... rtaudio 和 portaudio 是类似的跨平台替代品。可能比直接使用 CoreAudio 更容易(并且 PortAudi 附带了很好的示例代码),但 CoreAudio 还不错。以上是关于Mac OS X 声音输出的主要内容,如果未能解决你的问题,请参考以下文章