【发布时间】:2012-03-29 07:13:24
【问题描述】:
我正在尝试使用 CoreAudio API 编写一个监听器,用于更改默认音频输出(例如:插入耳机插孔)。我找到了示例代码,虽然有点旧并且使用了不推荐使用的函数(http://developer.apple.com/mac/library/samplecode/AudioDeviceNotify/Introduction/Intro.html,但它没有用。重新编写了代码以“正确”的方式使用 AudioHardwareAddPropertyListener 方法,但它似乎仍然不起作用。当我插入耳机时,我注册的功能没有被触发。我在这里有点茫然......我怀疑问题可能出在其他地方,但我不知道在哪里......
监听器注册码:
OSStatus err = noErr;
AudioObjectPropertyAddress audioDevicesAddress = { kAudioHardwarePropertyDefaultOutputDevice, KAudioObjectPropertyScopeGlobal, KAudioObjectPropertyElementMaster };
err = AudioObjectAddPropertyListener ( KAudioObjectAudioSystemObject, &AudioDevicesAddress, coreaudio_property_listener, NULL);
if (err) trace ("error on AudioObjectAddPropertyListener");
【问题讨论】:
标签: audio listener core-audio