Как настроить сеанс зеркального отображения между iOS 8 и Yosemite?

В OS X Yosemite экран устройства iOS 8 можно отразить на компьютере с OS X и сохранить как файл мультимедиа. Это можно сделать вручную с помощью QuickTime Player, но я хочу сделать то же самое программно.

Читая документы, устройство iOS 8 должно отображаться как веб-камера.

призвание [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo] на моем Mac возвращает NSArray без элементов.

Как настроить сеанс зеркалирования с помощью iOS 8 и Yosemite? Как я могу обнаружить устройство захвата для сеанса зеркалирования?

1 ответ

Решение

Цитата из стр. 28 стенограммы PDF для сессии WWDC 2014 № 508 "Съемка камеры: ручное управление":

Устройства iOS представлены в виде плагинов CoreMedia IO "DAL"

Вы должны зарегистрироваться, чтобы увидеть экранные устройства iOS в вашем приложении OS X

CMIOObjectPropertyAddress prop =
                           { kCMIOHardwarePropertyAllowScreenCaptureDevices,
                             kCMIOObjectPropertyScopeGlobal,
                             kCMIOObjectPropertyElementMaster };
UInt32 allow = 1;
CMIOObjectSetPropertyData( kCMIOObjectSystemObject,
                           &prop, 0, NULL,
                           sizeof(allow), &allow );

Также см. Мой блог для примера захвата CoreMediaIO для прямого перехвата необработанных сжатых данных, отправленных с устройства.

Другие вопросы по тегам