我目前在UIWebView中使用AirPlay镜像和Apple TV2上的第二个UIScreen(真实赛车)以及HTML5视频内容(x-webkit-airplay =“deny”)来玩一些应用创意(在iOS 5的iPad上,allowInlineMediaPlayback = YES,mediaPlaybackAllowsAirPlay = NO。
如果没有Airplay,UIWebView中的内容会在iPad上呈现内嵌(如预期的那样)。启用Airplay镜像后,内容始终在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 Mirroring如何,我都需要UIWebView内容始终以内联方式播放。我有什么想法可以解决这个问题吗?
提前致谢!
答案 0 :(得分:2)
我不知道有什么方法可以做到这一点,这也是我需要的。
UIWebView有一个属性,应该在UIWebView上禁用AirPlay,但它似乎不起作用,至少对我而言:
我已经对此提出了一个问题,所以你想要关闭这个问题并投票给我。如果您尝试使用该属性并获得比我更好的结果,我很乐意听到它!
我的问题:Purpose of mediaPlaybackAllowsAirPlay property on UIWebView