4

我目前正在我的 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 内容始终内联播放。有什么想法可以解决这个问题吗?

提前致谢!

4

1 回答 1

3

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

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

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

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

我的问题:UIWebView 上 mediaPlaybackAllowsAirPlay 属性的用途

于 2012-04-04T01:33:18.453 回答