(适用OSX /可可)
我需要能够从声音文件集合中获取任何声音(或声音)并通过任意声音输出通道播放它(或者它们),最好是通过每个声音级别控制和或多或少自动渠道混合。 (意思是多个声音可以在同一个频道中同时播放)
声音必须能够干净利落。
除默认的内置音频外,可用的输出通道还是,通过USB音频设备添加。出于此问题的目的,“通道”等同于USB音频适配器。
换句话说,我需要找/写类似的东西:
-(BOOL) [someObject playContentsOfURL: (NSURL) soundURL
viaChannel: (id) channelspec
atVolumeLevel: (double) volume
loop: (BOOL) loop
];
AVAudioPlayer 非常接近,但似乎假设使用内置立体声音频。我无法弄清楚如何将输出路由到特定的输出设备。 它很好,但是。
NSSound 的 playbackDeviceIdentifier 执行输出设备路由部分,但NSSound的循环可怕。如果NSSounds循环不那么糟糕,那将是一个胜利者。
因此,如果你有使NSSound循环干净的答案,那将非常令人满意地回答这个问题。
如果您可以指定如何向AVAudioPlayer提供输出路由,那就同样有效。
OR ,如果您可以指向或提供CoreAudio或其他可以实现此目的的代码,那么它也可以正常工作。