【问题标题】:Mac OS X sound outputMac OS X 声音输出
【发布时间】:2012-07-05 08:05:53
【问题描述】:

有没有关于如何在 Mac OS X 上输出原始声音缓冲区的示例?
类似pa_simple_write() 的pulseaudio 或waveOutWrite() 来自WINAPI。

【问题讨论】:

    标签: c++ c macos audio buffer


    【解决方案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 还不错。
      猜你喜欢
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多