Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 设置声音输出/输入_Objective C_Cocoa_Macos_Audio - Fatal编程技术网

Objective c 设置声音输出/输入

Objective c 设置声音输出/输入,objective-c,cocoa,macos,audio,Objective C,Cocoa,Macos,Audio,我一直在网上寻找,但我不知道这是否可能:一个Cocoa Mac OS X应用程序能改变声音输入/输出设备吗?如果是,为什么 Cocoa Mac OS X应用程序能否更改声音输入/输出设备 是的,顺便问一下 如果是,为什么 可能是因为用户可能希望更改应用程序中的默认输入或输出设备,我知道这是一篇老文章,但最近我一直在努力寻找一种方法,用代码改变声音输入/输出设备,我终于找到了方法。如果其他人遇到同样的问题,下面是答案 有一个名为switchaudioosx()的命令行实用程序,允许您从终端切换音频

我一直在网上寻找,但我不知道这是否可能:一个Cocoa Mac OS X应用程序能改变声音输入/输出设备吗?如果是,为什么

Cocoa Mac OS X应用程序能否更改声音输入/输出设备

是的,顺便问一下

如果是,为什么


可能是因为用户可能希望更改应用程序中的默认输入或输出设备,我知道这是一篇老文章,但最近我一直在努力寻找一种方法,用代码改变声音输入/输出设备,我终于找到了方法。如果其他人遇到同样的问题,下面是答案

有一个名为switchaudioosx()的命令行实用程序,允许您从终端切换音频源。它是开源的,您可以在此处找到最新版本:

无论如何,您可以使用以下行更改声音输入/输出设备:

UInt32 propertySize = sizeof(UInt32);
AudioHardwareSetProperty(kAudioHardwarePropertyDefaultInputDevice, propertySize, &newDeviceID); // To change the input device
AudioHardwareSetProperty(kAudioHardwarePropertyDefaultOutputDevice, propertySize, &newDeviceID); // To change the output device
AudioHardwareSetProperty(kAudioHardwarePropertyDefaultSystemOutputDevice, propertySize, &newDeviceID); // To change the system output device
其中
newDeviceID
AudioDeviceID
的实例,表示要选择的设备的id。此外,可以使用以下代码获得所有可用设备的列表:

AudioDeviceID dev_array[64];
AudioHardwareGetProperty(kAudioHardwarePropertyDevices, &propertySize, dev_array);
int numberOfDevices = (propertySize / sizeof(AudioDeviceID));

我不知道声音菜单可以改变输入/输出设备。我怎么能启用它呢?越狱者:点击选项键时按住它。该死。知道这一点太棒了。一点也不容易发现。应该一直在那里…不幸的是链接断了(@uchuugaka:请提交一份雷达文件。