Javascript 嵌入式vimeo/youtube视频未停止
我带着一个愚蠢的问题来到这里。我有一个嵌入式vimeo播放器,如下所示:Javascript 嵌入式vimeo/youtube视频未停止,javascript,ipad,video,vimeo,Javascript,Ipad,Video,Vimeo,我带着一个愚蠢的问题来到这里。我有一个嵌入式vimeo播放器,如下所示: NSString *htmlString = @"<html><head><style type="text/css">body {background-color:black; color:black; margin-right:auto; margin-left:auto;}</style></head><body style="margin:0">
NSString *htmlString = @"<html><head><style type="text/css">body {background-color:black; color:black; margin-right:auto; margin-left:auto;}</style></head><body style="margin:0"><iframe id="video" name="video" src="http://player.vimeo.com/video/67487897?byline=0&autoplay=1&api=1&player_id=video" width="768.000000" height="525.000000" frameborder="0"></body></html>";
[_webView loadHTMLString:html baseURL:nil];
视频加载正常,但不会自动播放。一、 然而,我们知道嵌入式播放器不支持自动播放。我用于自动播放的代码是:
- (void)webViewDidFinishLoad:(UIWebView *)wbView{
// NSString *script = @"var message = 'api_play'; var vid = document.getElementById('video'); var window = vid.contentWindow; window.postMessage('{\"event\":\"command\",\"func\":\"' + message + '\",\"args\":\"\"}', '*');";
NSString *script = @"var vid = document.getElementById('video'); var window = vid.contentWindow; window.postMessage('{\"method\":\"play\"}', vid.src.split('?')[0]);";
NSLog(@"%@",script);
[_webView stringByEvaluatingJavaScriptFromString:script];
//the above portion did not work so I tried this one too but of no use...
script = @"var vid = document.getElementById('video'); var window = vid.contentWindow; window.api(\"play\"); alert('done'); vid.src = '';";
[_webView stringByEvaluatingJavaScriptFromString:script];
}
但自动播放并不是一个大问题。这里最大的问题是,有时候当我离开这个屏幕时,视频并没有停止。我尝试了多种方法和多种脚本,但问题没有解决。我使用的代码是:
// NSString *script = @"var message = 'api_unload'; var vid = document.getElementById('video'); var window = vid.contentWindow; window.postMessage('{\"event\":\"command\",\"func\":\"' + message + '\",\"args\":\"\"}', '*'); vid.src = '';";
NSString *script = @"var vid = document.getElementById('video'); var window = vid.contentWindow; window.postMessage('{\"method\":\"pause\"}', vid.src.split('?')[0]);";
NSLog(@"%@",script);
[_webView stringByEvaluatingJavaScriptFromString:script];
我也试着用这个:
NSString *script = @"var vid = document.getElementById('video'); var window = vid.contentWindow; window.api(\"pause\"); vid.src = '';";
NSLog(@"%@",script);
[_webView stringByEvaluatingJavaScriptFromString:script];
没有一个奏效
简单地做
[_webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about://blank"]]];
也不行。我在youtube视频上也面临同样的问题
我别无选择了。有人经历过同样的问题吗
我目前正在使用iPad3,但我知道在其他iPad上也会发生同样的情况。这将自动播放嵌入式vimeo
http://vimeo.com/moogaloop.swf?clip_id=71788444&server=www.vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1&autoplay=1
请注意结尾处的&autoplay=1