我正在尝试使用UIWebView
代码在我的<iframe>
上播放YouTube视频,代码如下 -
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的默认播放器。
任何想法都赞赏!
答案 0 :(得分: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"]];
答案 1 :(得分:0)
不可能。 iPhone上的网络视频总是全屏显示。 在您的应用中播放视频的唯一可能性是使用MPMoviePlayer并将视图添加到您的屏幕。但是,您需要直接链接到视频文件