UIWebView youtube iframe api autoplay/playsinline 退出在 iOS7 中工作

Posted

技术标签:

【中文标题】UIWebView youtube iframe api autoplay/playsinline 退出在 iOS7 中工作【英文标题】:UIWebView youtube iframe api autoplay/playsinline quit working in iOS7 【发布时间】:2013-10-14 15:57:18 【问题描述】:

这段代码非常适合在 ios 6 uiwebview 中自动播放视频。但是,我升级到 iOS 7,现在我的视频不会自动播放。有时视频会自动播放,有时则不会。它将自动播放大约 10% 的时间。大多数时候我得到一个纺车。如果我从 src 标签中删除 &playsinline=1 ,它将自动全屏播放(不是我想要的)。我花了很多时间为这个应用程序创建一个自定义播放器,现在它无法正常工作。非常感谢任何帮助。

_youTubeWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 20, 320, 184)];
_youTubeWebView.delegate = self;
_youTubeWebView.scrollView.bounces = NO;
_youTubeWebView.allowsInlineMediaPlayback = YES;
_youTubeWebView.mediaPlaybackAllowsAirPlay = YES;
_youTubeWebView.mediaPlaybackRequiresUserAction = NO;
[self.view addSubview:_youTubeWebView];

 NSString* embedhtml = [NSString stringWithFormat:@"<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady()ytplayer=new YT.Player('playerId',events:onReady:onPlayerReady)function onPlayerReady(a) a.target.playVideo(); </script><iframe id='playerId' type='text/html' width='%@' height='%@'src='http://www.youtube.com/embed/%@?enablejsapi=1&rel=0&playsinline=1&controls=0&showinfo=0' frameborder='0'></body></html>", w, h, videoId];
 [_youTubeWebView loadHTMLString:embedHTML baseURL:nil];

这是一个快速测试文件的链接。 videoPlayerTest.zip

【问题讨论】:

【参考方案1】:

这听起来像是针对 Youtube iframe 播放器 API 的以下开放错误:

Issue 5204: js iframe api playVideo() doesn't play video in iOS 7

http://code.google.com/p/gdata-issues/issues/detail?id=5204

【讨论】:

谢谢,我不会失去理智。我可以投票,或者我会投票给这个答案。【参考方案2】:

您可以通过将 baseURL 更改为:

[[NSBundle mainBundle] resourceURL]

【讨论】:

还是不行。我在 iOS 7 中大约 90% 的时间都在旋转。我还注意到 youtube 应用程序现在在他们的视频中有很多错误。我必须双击才能启动。 感谢您的帮助!

以上是关于UIWebView youtube iframe api autoplay/playsinline 退出在 iOS7 中工作的主要内容,如果未能解决你的问题,请参考以下文章

UIWebView youtube iframe api autoplay/playsinline 退出在 iOS7 中工作

YouTube iframe 播放器 - 在 iOS 上触发全屏

为啥 Youtube 视频没有填满 UiWebView?

UIWebView 模态 YouTube 播放器“完成”按钮操作

如何摆脱嵌入在 UIWebView 中的 youtube 视频周围的白色边框?

如何从 UIWebView 嵌入式 YouTube 视频播放接收 NSNotifications