我目前正在我的 Apple TV2 上使用 AirPlay 镜像和第二个 UIScreen(a la Real Racing)以及 UIWebView(allowsInlineMediaPlayback=YES)中的 HTML5 视频内容(x-webkit-airplay="deny")玩一些应用程序创意, mediaPlaybackAllowsAirPlay=NO) 在我的 iPad 上运行 iOS 5。
如果没有 Airplay,UIWebView 中的内容会在 iPad 上内联呈现(如预期的那样)。启用 Airplay Mirroring 后,内容将始终在 Apple TV 上全屏播放(遮挡外部屏幕的 UI),并在主屏幕的 UIWebView 中显示“在 Apple TV 上播放的视频”图像:
这是我的 HTML:
<html>
<head>
<title>HTML 5 Video</title>
</head>
<body>
<video controls="controls" x-webkit-airplay="deny" width="280" height="200">
<source src="http://html5demos.com/assets/dizzy.mp4" type="video/mp4" />
<source src="http://html5demos.com/assets/dizzy.webm" type="video/webm" />
<source src="http://html5demos.com/assets/dizzy.ogv" type="video/ogv" />
</video>
</body>
</html>
这是我的项目代码的相关片段:
NSString *urlString = @"http://medialog.roamrlog.com/video.html";
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [[NSURLRequest alloc] initWithURL:url];
_webView = [[UIWebView alloc] initWithFrame:CGRectMake(50, 20, 280, 200)];
_webView.delegate = self;
_webView.allowsInlineMediaPlayback = YES;
_webView.mediaPlaybackAllowsAirPlay = NO;
[_webView loadRequest:urlRequest];
镜像打开时似乎忽略所有设置:
(音频和视频通过带镜像的 AirPlay 传输到 ATV,这是意料之外的)
并在镜像关闭时部分确认它们(阅读下文):
(音频通过 AirPlay 传输到 ATV,没有像预期的那样镜像- 视频不是预期的)
无论 AirPlay 镜像如何,我都需要 UIWebView 内容始终内联播放。有什么想法可以解决这个问题吗?
提前致谢!