2014-10-01 50 views
3

在OS X Yosemite上,iOS 8设备的屏幕可以镜像到OS X机器并保存为媒体文件。这可以使用QuickTime Player手动完成,但我希望以相同的程序进行。如何在iOS 8和Yosemite之间设置镜像会话?

阅读文档时,应将iOS 8设备暴露为网络摄像头。

在我的Mac上调用[AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]返回NSArray没有元素。

如何使用iOS 8和Yosemite设置镜像会话?如何检测镜像会话的捕获设备?

+0

你有没有找到如何做到这一点? – 2014-11-07 18:51:54

回答

15

the PDF transcript for WWDC 2014 session #508 “Camera Capture: Manual Controls” P28报价:

iOS设备都为CoreMedia IO“DAL”插件

您必须选择在看到你的OS X应用程序

的iOS屏幕设备
CMIOObjectPropertyAddress prop = 
          { kCMIOHardwarePropertyAllowScreenCaptureDevices, 
          kCMIOObjectPropertyScopeGlobal, 
          kCMIOObjectPropertyElementMaster }; 
UInt32 allow = 1; 
CMIOObjectSetPropertyData(kCMIOObjectSystemObject, 
          &prop, 0, NULL, 
          sizeof(allow), &allow); 

此外,请参阅my blog for CoreMediaIO捕获示例,以直接拦截从dev发出的原始压缩负载冰

请投票发表这个职位,如果你发现它使用全

+0

我无法让它正常工作。只有当我启动Quicktime并在其中启动新的电影录制时,才能通过[AVCaptureDevice设备]检测iphone设备。为什么会发生? – jesse 2015-11-27 10:01:48

+2

该设备可能需要一些时间才能成为〜挂载〜/可用,B4设置上述安装正确的NSNotification以在添加设备时得到通知。重要提示:从OS-X 10.10开始,iOS镜像存在内存泄漏操作系统错误),长时间捕获运行会话会导致巨大的内存泄漏 – NadavRub 2015-11-29 14:51:04