有没有办法模仿视频应用,以便我们仍然保持设备(iPad / iPhone)的控制,但通过电缆将视频发送到电视?我查看了屏幕镜像,但对于视频来说太慢了,无论如何,Apple不再允许屏幕镜像使用的UIGetScreenImage()。
视频应用程序似乎完全符合我的需要,但我认为没有任何简单的事情可以实现。
更新(10/15/10):显然,通过UIWebView播放的电影具有TV-Out支持,而MPMoviePlayerController电影则不支持。
http://rebelalfons.posterous.com/iphone-os-support-for-tv-out
但是,有一点需要注意:这不适用于更新到最新iOS的旧设备。也就是说,iPod触及iPhone 3G& 3GS不起作用,而iPhone 4和iPad则可以。希望有更多的东西可以用来填补兼容性方面的空白,因为我知道它的可能性。 AirVideo和StreamToMe等应用目前支持此功能。
答案 0 :(得分:1)
我不确定是否有官方方式来执行此操作。但是对于您的示例,AirVideo使用方法Swizzling(结帐:http://www.cocoadev.com/index.pl?MethodSwizzling)来覆盖Movie Player中的检查,并且像视频应用
我想有些人在SDK上进行了一些逆向工程,你可以找到检查的位置,并使用自定义方法调整该方法。
答案 1 :(得分:1)
在3.2及更高版本(后期链接到的网站)中,UIScreen有一个类方法,'屏幕'将返回一个对象的数组 - 主屏幕 - 如果没有可用的外部显示器,或两个屏幕 - 主屏幕和外部屏幕 - 如果连接了电视线。任务应该简单到将您希望在其框架内显示在外部屏幕上的视图以及您想要在设备内控制的视图。
你试过吗?
编辑另外一条评论:从3.2开始,明确允许创建一个MPMovieController,然后从中获取视图,将其视为普通的UIView而不是完整的“存在”。这就是你如何获得一个你可以按照自己的意愿定位的电影视图。