2012-09-22 127 views
5

我试图嵌入youtube视频并自动播放它在我的应用程序。该代码不适用于iOS6,但它可以完美地运行在较旧的iOS 5上。嵌入YouTube视频和自动播放iOS 6不工作

我做了这种方式:

-(IBAction)playVideo:(id)sender { 

myWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)]; 
myWebView.delegate = self; 
[myWebView setAllowsInlineMediaPlayback:YES]; 
myWebView.mediaPlaybackRequiresUserAction=NO; 

[myWebView loadHTMLString:[NSString stringWithFormat:@"<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"300\"></embed>", @"http://www.youtube.com/watch?v=TbsXUJITa40"] baseURL:nil]; 

} 

- (UIButton *)findButtonInView:(UIView *)view { 
UIButton *button = nil; 

if ([view isMemberOfClass:[UIButton class]]) { 
    return (UIButton *)view; 
} 

if (view.subviews && [view.subviews count] > 0) { 
    for (UIView *subview in view.subviews) { 
     button = [self findButtonInView:subview]; 
     if (button) return button; 
    } 
} 
return button; 
} 

-(void)webViewDidFinishLoad:(UIWebView *)webView { 

UIButton *b = [self findButtonInView:webView]; 
[b sendActionsForControlEvents:UIControlEventTouchUpInside]; 
} 

所以 - 当web视图被加载时,它会自动查找的UIButton和视频开始。我无法理解,为什么在iOS 6中这种方法不再有效。它加载的视频,但没有出现...

任何人都可以帮助我吗?我要疯了试图解决它...

回答

4

你需要使用JS命令。 This link应该有所帮助。

+0

根据苹果,这是不可能的 - 看到我上面的答案。 –

4

我希望现在对于答案来说还不算太晚,但在iOS中不可能。像它的文档苹果指出:https://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/AudioandVideoTagBasics/AudioandVideoTagBasics.html

为了防止过在用户的费用蜂窝网络不请自来的下载,嵌入式媒体不能自动在Safari上播放的iOS,用户总是启动播放。一旦启动播放,控制器会在iPhone或iPod touch上自动提供,但对于iPad,您必须设置控件属性或使用JavaScript提供控制器。

请注意,上面链接的文档是针对Safari的,而不是针对iOS的。对我而言,在第一次阅读之前,这让我感到困惑,直到我注意到这一点。

所以不幸的是,目前这不适用于iOS。

相关问题