6

このコードは、iOS 6 uiwebview でビデオをインラインで自動再生するのに非常にうまく機能しています。しかし、iOS 7 にアップグレードしたところ、ビデオが自動再生されなくなりました。ビデオが自動再生される場合と、そうでない場合があります。約 10% の確率で自動再生されます。ほとんどの場合、糸車を手に入れます。&playsinline=1 を src タグから削除すると、フルスクリーンで自動再生されます (私が望むものではありません)。このアプリのカスタム プレーヤーの作成に多くの時間を費やしましたが、正しく動作しません。どんな助けでも大歓迎です。

_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

4

2 に答える 2

7

これは、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

于 2013-10-08T23:21:45.190 に答える