当某个进程开始使用相机时,我需要接收一个事件。我通过 CMIOObjectGetPropertyData 做到了这一点。但它不能正常工作,正确的值只有第一次访问。
我也尝试使用 CMIOObjectAddPropertyListenerBlock 但他没有从我这里工作。请告诉我,我做错了什么?我将不胜感激。
while (1)
{
UInt32 value = 0;
UInt32 valuePropertySize = sizeof(flag);
CMIOObjectPropertyAddress opa = {kCMIODevicePropertyDeviceIsRunningSomewhere,
kAudioObjectPropertyScopeWildcard, kAudioObjectPropertyElementMaster};
OSStatus result = CMIOObjectGetPropertyData(device, &opa, 0, NULL, sizeof(UInt32), &valuePropertySize, &value);
NSLog(@"%d : %d", result, value);
sleep(1);
}