5

我正在尝试使用以下代码在我的UIWebViewusing标签上播放 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];

它工作正常。

在此处输入图像描述

但是,我需要在 webview 本身上播放这个,而不是使用 iPhone 默认播放器。我如何将其限制为UIWebView仅播放。我也被定义为iframe播放器类class=\"youtube-player\"。但是,它采用了 iPhone 的默认播放器。

任何想法表示赞赏!

4

2 回答 2

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。下面是一个加载名为 iframe-player.html 的 HTML 文件的示例,该文件包含所需的 HTML 和 JavaScript 代码:

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"]];
于 2014-01-06T19:01:55.240 回答
0

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

于 2013-12-31T12:54:24.843 回答