列出可能的输出设备并选择一个输出设备

时间:2013-11-07 08:57:14

标签: core-audio

某些OS X应用程序可以显示可用于播放音乐的输出设备列表,例如内置输出/声卡或连接的USB DAC。如何列出所有此类设备并选择其中一个进行音频播放?

这个link描述了我的想法,但我无法弄清楚如何正确使用它。我尝试过以下代码:

AudioComponentDescription ioUnitDescription;
ioUnitDescription.componentType          = kAudioUnitType_Output;
ioUnitDescription.componentSubType       = 0;
ioUnitDescription.componentManufacturer  = kAudioUnitManufacturer_Apple;
ioUnitDescription.componentFlags         = 0;
ioUnitDescription.componentFlagsMask     = 0;
AudioComponent foundIoUnitReference = NULL;
while ((foundIoUnitReference = AudioComponentFindNext(foundIoUnitReference, &ioUnitDescription))) {
    AudioUnit ioUnitInstance;
    AudioComponentInstanceNew (foundIoUnitReference, &ioUnitInstance);
    //NSLog (@"Audio Unit: %@", ioUnitInstance);
}

它循环5次,所以我想这确实给了我一些音频单元的列表,但我有两个问题:

1)5是很多,因为我当时只有输出/音板的构建。我应该使用某种componentSubType来过滤这个以及哪一个?

2)如何从这个ioUnitInstance中获取任何有用的信息?我可以获得一个对用户有意义的名称吗?

接下来将使用此输出音频单元进行输出,但首先要做的事情。

谢谢你 索伦

0 个答案:

没有答案