bha*_*ley 5 macos device core-audio
有没有办法为任何音频设备设置一个侦听器来检测它是否被删除或拔掉?我发现这篇文章有助于你只关心内置的音频相关设备:
但我正在寻找更通用的解决方案(即所有设备,USB,HDMI等).它是OSX特有的.
关于如何做到这一点的任何想法?
我想到了!只需要将一个监听器添加到相应的AudioDeviceID(您要监控的设备):
// add listener for detecting when a device is removed
const AudioObjectPropertyAddress alive_address =
{
kAudioDevicePropertyDeviceIsAlive,
kAudioObjectPropertyScopeGlobal,
kAudioObjectPropertyElementMaster
};
AudioObjectAddPropertyListener(current_device_id_, &alive_address, deviceIsAliveCallback, &player_);
Run Code Online (Sandbox Code Playgroud)
然后写相应的回调:
OSStatus deviceIsAliveCallback(AudioObjectID inObjectID,
UInt32 inNumberAddresses,
const AudioObjectPropertyAddress inAddresses[],
void* inClientData)
{
// your code here
}
Run Code Online (Sandbox Code Playgroud)
希望这有助于某人!
| 归档时间: |
|
| 查看次数: |
1075 次 |
| 最近记录: |