Я делаю базовое приложение на Objective-C и платформе AVFoundation, я хочу определить, используется ли встроенная камера для Mac другим приложением, мне удалось это сделать, но оно всегда возвращает false, даже когда я использование камеры с другим программным обеспечением.
У меня есть функция, которая оборачивает этот код и выполняется каждые 2 секунды:
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for(AVCaptureDevice *camera in devices){
NSLog([camera isInUseByAnotherApplication] ? @"YES DEVICE BEING USED": @"DEVICE NOT BEING USED");
NSLog([camera isSuspended] ? @"YES DEVICE SUSPENDED": @"DEVICE NOT suspended");
NSLog([camera manufacturer]);
NSLog([camera localizedName]);
}
Проблема в том, что я всегда получаю один и тот же результат:
2017-01-06 13:02:24.657 Befective Agent[13749:175226] DEVICE NOT BEING USED
2017-01-06 13:02:24.658 Befective Agent[13749:175226] DEVICE NOT suspended
2017-01-06 13:02:24.658 Befective Agent[13749:175226] Apple Inc.
2017-01-06 13:02:24.658 Befective Agent[13749:175226] FaceTime HD Camera (Built-in)
ИЗМЕНИТЬ
Камера, которая отображается в программном обеспечении, такая же, как и эта, и у меня есть только встроенная камера MacBook Pro.
Заранее спасибо!
ИЗМЕНИТЬ
Программное обеспечение, которое я использовал для использования камеры:
- Видеовстречи
- Скайп
- Красная будка
- Слабый