更新
我已将其上传到github,链接为https://github.com/ThinkChris/YouTubeDemo/blob/master/tabtest/FirstViewController.m
要求是:
大家好我有两段代码可以在uiwebview中嵌入youtube视频,我注意到效果不同。他们都不是MPMoviePlayerController吗?为什么会有差异?
代码1:视频以纵向全屏开始,旋转受视图控制器限制(如果viewcontroll无法执行此操作,则视频无法保留)
- (void)addYouTubeVideoWebView:(NSString*)url frame:(CGRect)frame
{
// iframe
url = @"http://www.youtube.com/embed/IQGhq0IlVok";
NSString* embedHTML = @"\
<html>\
<body style=\"margin:0\">\
// HERERRRRRRRRRRRRRRRRRRRRRRRRRR
<iframe src=\"%@?showinfo=0\" width=\"%0.0f\" height=\"%0.0f\" frameborder=\"0\"></iframe>\
</body>\
</html>\
";
NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height];
UIWebView * webView = [[UIWebView alloc] initWithFrame:frame];
[webView loadHTMLString:html baseURL:nil];
[self.view addSubview:webView];
}
代码2:从横向全屏幕开始,可以自行旋转到任何方向
- (void)addYouTubeVideoWebView:(NSString*)url frame:(CGRect)frame
{
// embed
url = @"http://www.youtube.com/watch?v=IQGhq0IlVok";
NSString* embedHTML = @"\
<html>\
<body style=\"margin:0\">\
// HERERRRRRRRRRRRRRRRRRRRRRRRRRR
<embed type=\"application/x-shockwave-flash\" src=\"%@\" width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body>\
</html>\
";
NSString* html = [NSString stringWithFormat:embedHTML, url, frame.size.width, frame.size.height];
UIWebView * webView = [[UIWebView alloc] initWithFrame:frame];
[webView loadHTMLString:html baseURL:nil];
[self.view addSubview:webView];
}
答案 0 :(得分:1)
使用iframe将HTML文档嵌入HTML文档中。但由于你的iframe不包含有效的HTML文档(只有一个URL),我的猜测是浏览器没有足够的关于你的iframe的信息,无法决定它是否可以在横向播放(为什么它会是像这样,我不知道,这只是猜测。)
尝试在iframe版本中使用嵌入版本的完整HTML代码:
<html>\
<body style='margin:0'>\
<iframe width'%0.0f' height='%0.0f' frameborder='0'>
<html>\
<body style='margin:0'>\
<embed type='application/x-shockwave-flash' src='%@' width='%0.0f' height='%0.0f'></embed>\
</body>\
</html>\
</iframe>\
</body>\
</html>\";