Airplay Mirroring +外部UIScreen =全屏UIWebView视频播放?

时间:2012-04-03 03:00:06

标签: ios5 uiwebview html5-video mirroring airplay

我目前在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上播放的视频”图像:

airplay indicator

这是我的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 mirroring on

(音频和视频通过带有镜像的AirPlay传输到ATV,因为预期)

当镜像关闭时,部分承认它们(如下所示):

airplay mirroring off

(音频通过AirPlay传输到ATV,没有镜像预期 - 视频不是 预期)

无论AirPlay Mirroring如何,我都需要UIWebView内容始终以内联方式播放。我有什么想法可以解决这个问题吗?

提前致谢!

1 个答案:

答案 0 :(得分:2)

我不知道有什么方法可以做到这一点,这也是我需要的。

UIWebView有一个属性,应该在UIWebView上禁用AirPlay,但它似乎不起作用,至少对我而言:

http://developer.apple.com/library/ios/documentation/uikit/reference/UIWebView_Class/Reference/Reference.html#//apple_ref/occ/instp/UIWebView/mediaPlaybackAllowsAirPlay

我已经对此提出了一个问题,所以你想要关闭这个问题并投票给我。如果您尝试使用该属性并获得比我更好的结果,我很乐意听到它!

我的问题:Purpose of mediaPlaybackAllowsAirPlay property on UIWebView