这是我的第一个问题.我在StackOverflow和Google上搜索了答案,但一直找不到答案.
我使用Vimeo的通用iFrame代码在我的网站上嵌入了一个视频.该视频可以在下面看到,并且可以在任何桌面浏览器和iOS 5设备上正常播放.
问题来自iOS的最新更新... 现在在iOS 6上,视频将无法播放.相反,它将陷入"加载"持有模式.在iPhone模拟器上使用iOS 6为XCODE产生相同的结果.有关确切视频的链接如下.在较旧的iOS 5设备上加载,视频开始播放就好了.
注意:该视频也不能在iOS 6 Chrome上播放,但适用于iOS 5 Chrome.
http://www.seriouslyfunny.tv/2011/03/padded-room-promo/
有任何想法吗?我觉得这是一个愚蠢的新手问题,有些8岁的侄子会知道答案.
我在这个论坛上发现了许多关于嵌入youtube视频和自动播放的问题,但没有一个问题清除我的疑虑.
我找到了两种在UIWebView中嵌入youtube视频的方法
1)
NSString *youTubeHTMLTemplate = @"<html><head><style type=\"text/css\">body { background-color: transparent;color: white;}</style></head><body style=\"margin:0\"><embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" width=\"%0.0f\" height=\"%0.0f\"></embed></body></html>";
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, fullYopuTubeUrl, htmlFrameWidth, htmlFrameHeight];
Run Code Online (Sandbox Code Playgroud)
2)
NSString *youTubeHTMLTemplate = @"<html><body style=\"margin:0;padding:0;\"><iframe class=\"youtube-player\" type=\"text/html\" width=\"%f\" height=\"%f\" src=\"http://www.youtube.com/embed/%@\" frameborder=\"0\" allowfullscreen></iframe></body></html>";
finalHtml = [NSString stringWithFormat:youTubeHTMLTemplate, htmlFrameWidth, htmlFrameHeight, videoID];
Run Code Online (Sandbox Code Playgroud)
如果我使用(1)方法并按照这里给出的方法我的视频自动播放.想法是在UIWebView中找到按钮并向其发送触摸事件.
如果我使用(2)并遵循相同的方法,视频不会自动播放.
我认为建议使用(2)方法,因为(1)仅用于Flash视频(对吗?).
无论如何(2)是可能的吗?这个链接说不.
谁能证实
我正在尝试嵌入YouTube视频并在我的应用上自动播放.该代码不适用于iOS6,但它可以在较旧的iOS 5上完美运行.
我是这样做的:
-(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 …Run Code Online (Sandbox Code Playgroud)