searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

[CoreAudio]如何修改macOS的声音输入输出设备

2023-04-26 02:03:06
100
0

在macOS的音频设备管理中,是使用AudioObjectID来唯一标识一个音频设备的。而对于系统来说,同时只能有一个声音输入和输出设备。

1. 如何获取系统默认的声音输出设备:

UInt32 defaultOutputDeviceID;
UInt32 size = sizeof(UInt32);

OSStatus ret = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, 
                                                                          &size, 
                                                                          &defaultOutputDeviceID);
if (ret != noErr) {
    NSLog(@"get default output device error: %i", ret);
}

2. 如何获取系统默认的声音输入设备:

UInt32 defaultInputDeviceID;
UInt32 size = sizeof(UInt32);

OSStatus ret = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice, 
                                                                          &size, 
                                                                          &defaultInputDeviceID);
if (ret != noErr) {
    NSLog(@"get default input device error: %i", ret);
}

假如应用需要临时修改系统默认的声音输入和输出设备,就可以通过以上两种办法获取默认输入和输出声音设备ID,然后将系统默认设备修改为自己指定的设备(可以是虚拟声音设备、蓝牙耳机、USB麦克风等),在功能使用结束之后再还原到之前保存的系统默认设备。

3. 如何设置系统默认声音输出设备:

UInt32 size = sizeof(UInt32);
OSStatus ret = AudioHardwareSetProperty(kAudioHardwarePropertyDefaultOutputDevice, 
                                                                          size, 
                                                                          &deviceID);
if (noErr != ret)
{
    NSLog(@"set default output device error: %i", ret);
}

4. 如何设置系统默认声音输入设备:

UInt32 size = sizeof(UInt32);
OSStatus ret = AudioHardwareSetProperty(kAudioHardwarePropertyDefaultInputDevice, 
                                                                          size, 
                                                                          &deviceID);
if (noErr != ret)
{
    NSLog(@"set default input device error: %i", ret);
}
0条评论
0 / 1000
l****n
14文章数
1粉丝数
l****n
14 文章 | 1 粉丝
原创

[CoreAudio]如何修改macOS的声音输入输出设备

2023-04-26 02:03:06
100
0

在macOS的音频设备管理中,是使用AudioObjectID来唯一标识一个音频设备的。而对于系统来说,同时只能有一个声音输入和输出设备。

1. 如何获取系统默认的声音输出设备:

UInt32 defaultOutputDeviceID;
UInt32 size = sizeof(UInt32);

OSStatus ret = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice, 
                                                                          &size, 
                                                                          &defaultOutputDeviceID);
if (ret != noErr) {
    NSLog(@"get default output device error: %i", ret);
}

2. 如何获取系统默认的声音输入设备:

UInt32 defaultInputDeviceID;
UInt32 size = sizeof(UInt32);

OSStatus ret = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice, 
                                                                          &size, 
                                                                          &defaultInputDeviceID);
if (ret != noErr) {
    NSLog(@"get default input device error: %i", ret);
}

假如应用需要临时修改系统默认的声音输入和输出设备,就可以通过以上两种办法获取默认输入和输出声音设备ID,然后将系统默认设备修改为自己指定的设备(可以是虚拟声音设备、蓝牙耳机、USB麦克风等),在功能使用结束之后再还原到之前保存的系统默认设备。

3. 如何设置系统默认声音输出设备:

UInt32 size = sizeof(UInt32);
OSStatus ret = AudioHardwareSetProperty(kAudioHardwarePropertyDefaultOutputDevice, 
                                                                          size, 
                                                                          &deviceID);
if (noErr != ret)
{
    NSLog(@"set default output device error: %i", ret);
}

4. 如何设置系统默认声音输入设备:

UInt32 size = sizeof(UInt32);
OSStatus ret = AudioHardwareSetProperty(kAudioHardwarePropertyDefaultInputDevice, 
                                                                          size, 
                                                                          &deviceID);
if (noErr != ret)
{
    NSLog(@"set default input device error: %i", ret);
}
文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0