Macos 在OSX上更改AVAudioPlayer的输出设备

Macos 在OSX上更改AVAudioPlayer的输出设备,macos,cocoa,avfoundation,avaudioplayer,Macos,Cocoa,Avfoundation,Avaudioplayer,我需要将音频从AVAudioPlayer播放到特定的音频设备,如USB耳机。默认情况下,音频将按照系统默认设备设置播放。有了QTKit,我可以使用SetMovieAudioContext()来完成这样的任务,但在AVFoundation中看不到类似的功能。如何在OSX上改变这一点呢?在苹果公司打开了一个DTS案例,他们说这是不可能的(因为我需要支持10.8)。如果您只需要支持10.9及以上版本的AVPlayerAudioDevices,则支持应该会起作用。在Apple打开了一个DTS案例,他们说

我需要将音频从AVAudioPlayer播放到特定的音频设备,如USB耳机。默认情况下,音频将按照系统默认设备设置播放。有了QTKit,我可以使用SetMovieAudioContext()来完成这样的任务,但在AVFoundation中看不到类似的功能。如何在OSX上改变这一点呢?

在苹果公司打开了一个DTS案例,他们说这是不可能的(因为我需要支持10.8)。如果您只需要支持10.9及以上版本的AVPlayerAudioDevices,则支持应该会起作用。

在Apple打开了一个DTS案例,他们说这是不可能的(因为我需要支持10.8)。如果您只需要支持10.9及以上版本的AVPlayerAudioDevices,则支持应该会起作用。

在Apple打开了一个DTS案例,他们说这是不可能的(因为我需要支持10.8)。如果您只需要支持10.9及以上版本的AVPlayerAudioDevices,则支持应该会起作用。

在Apple打开了一个DTS案例,他们说这是不可能的(因为我需要支持10.8)。如果您只需要支持10.9及以上版本的AVPlayerAudioDevices,则支持应起作用。

请改用:

获取具有
CoreAudio
功能的音频设备列表。然后获取设备的唯一标识符:

//...
address.mSelector = kAudioDevicePropertyDeviceUID;
CFStringRef uid = NULL;
UInt32 size = sizeof(uid);
AudioObjectGetPropertyData(deviceId, &address, 0, NULL, &size, &uid);
//...
初始化声音项,设置playbackDeviceIdentifier属性值。

改用:

获取具有
CoreAudio
功能的音频设备列表。然后获取设备的唯一标识符:

//...
address.mSelector = kAudioDevicePropertyDeviceUID;
CFStringRef uid = NULL;
UInt32 size = sizeof(uid);
AudioObjectGetPropertyData(deviceId, &address, 0, NULL, &size, &uid);
//...
初始化声音项,设置playbackDeviceIdentifier属性值。

改用:

获取具有
CoreAudio
功能的音频设备列表。然后获取设备的唯一标识符:

//...
address.mSelector = kAudioDevicePropertyDeviceUID;
CFStringRef uid = NULL;
UInt32 size = sizeof(uid);
AudioObjectGetPropertyData(deviceId, &address, 0, NULL, &size, &uid);
//...
初始化声音项,设置playbackDeviceIdentifier属性值。

改用:

获取具有
CoreAudio
功能的音频设备列表。然后获取设备的唯一标识符:

//...
address.mSelector = kAudioDevicePropertyDeviceUID;
CFStringRef uid = NULL;
UInt32 size = sizeof(uid);
AudioObjectGetPropertyData(deviceId, &address, 0, NULL, &size, &uid);
//...

初始化声音项,设置
playbackDeviceIdentifier
属性值。

谢谢-这是我们采取的方法。谢谢-这是我们采取的方法。谢谢-这是我们采取的方法。谢谢-这是我们采取的方法。谢谢-这是我们采取的方法。