2013-04-23 98 views
5

我试图播放YouTube视频上使用我的UIWebView 标签与下面的代码 -在UIWebView中播放Youtube视频,仅使用的iFrame

NSString *html = @"\ 
<html><head>\ 
<style type=\"text/css\">\ 
body { background-color: transparent;\ 
color: white; \ 
}\ 
</style>\ 
</head><body style=\"margin:0\">\ 
<iframe class=\"youtube-player\" width=\"300\" height=\"300\" src=\"http://www.youtube.com/embed/efRNKkmWdc0\" frameborder=\"0\" allowfullscreen=\"true\"></iframe>\ 
</body></html>"; 

UIWebView *videoView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 460.0)]; 
[videoView loadHTMLString:html baseURL:nil]; 

其工作的罚款。

enter image description here

但是,我需要不使用iPhone的默认播放器来播放上的WebView本身。我如何限制这个只能在UIWebView上播放。我也定义iframe球员级别为class=\"youtube-player\"。但是,它采取iPhone的默认播放器。

任何想法赞赏!

+0

嗨... ...普利文你有没有得到解决这个..请帮我 – iSwaroop 2013-11-14 14:39:08

+0

@杰克1231没有。还没。但是,我确定。如果不使用快速播放器,iOS中的每个视频都无法播放。所以,它可能无法在iOS – Praveenkumar 2013-11-15 04:53:32

+0

@Praveen你找到任何答案?面临同样的问题。寻找最近2个月的解决方案 – Jasmeet 2014-05-15 09:11:51

回答

0

不可能。网络视频始终在iPhone上全屏显示。 在您的应用中播放视频的唯一可能性是使用MPMoviePlayer并将视图添加到屏幕。但你需要有一个直接链接到视频文件

3

使用此代码初始化iFrame播放器试试:

 player = new YT.Player('player', { 
           height: '100%', 
           width: '100%', 
           videoId: 'M7lc1UVf-VE', 
           playerVars: { 
           'controls' : '0', 
           'playsinline' : 1 
           } 
           }); 

注意“playsinline”参数被设置为1。在含观点,使用此参数初始化UIWebView:

webView.allowsInlineMediaPlayback = YES; 

我注意到的一件事是您不能将baseURL参数设置为NULL;它必须是一个NSString。下面是加载包含所需的HTML和JavaScript代码的HTML文件名为iframe的player.html一个例子:

NSString *path = [[NSBundle mainBundle] pathForResource: @"iframe-player" ofType: @"html"]; 
NSString *embedHTML = [NSString stringWithContentsOfFile: path 
               encoding:NSUTF8StringEncoding 
                error: &error]; 

[webView loadHTMLString:embedHTML baseURL:[NSURL URLWithString:@"about:blank"]]; 
+0

你有一个示例项目。它不是在线播放 – 2014-01-10 17:54:45

+0

@AvnerBarr你找到解决方案吗? – Jasmeet 2014-05-15 09:13:15

+0

是_____________ – 2014-05-19 07:30:51

相关问题