3

(OSX/可可)

我需要能够从声音文件集合中获取任何声音(或声音)并通过任意声音输出通道播放它(或它们),最好使用每个声音级别控制和或多或少的自动通道混合。(意味着多个声音可以在同一个通道中同时播放)

声音必须能够干净地循环播放。

除了默认的内置音频,可用的输出通道将通过 USB 音频设备添加。就本问题而言,“通道”相当于 USB 音频适配器。

换句话说,我需要找到/写一些类似的东西:

 -(BOOL) [someObject playContentsOfURL: (NSURL) soundURL  
                            viaChannel: (id) channelspec
                         atVolumeLevel: (double) volume
                                  loop: (BOOL) loop
         ];

AVAudioPlayer非常接近,但它似乎假设使用内置立体声音频。我无法弄清楚如何将输出路由到特定的输出设备。然而,它的循环很棒

NSSoundplaybackDeviceIdentifier做了输出设备路由部分,但是NSSound 的循环很糟糕。如果 NSSounds 循环不是那么糟糕,那将是赢家。

因此,如果您有一个使 NSSound loop cleanly的答案,那将非常令人满意地回答这个问题。

如果您可以指定如何为 AVAudioPlayer 提供输出路由,那将同样漂亮。

或者,如果您可以指向或提供 CoreAudio 或其他可以完成此操作的代码,那也可以。

4

0 回答 0