嵌入vimeo/youtube视频不停止

Embedded vimeo/youtube videos not stopping

本文关键字:视频 不停止 youtube vimeo 嵌入      更新时间:2023-09-26

我在这里有一个愚蠢的问题。我有一个像这样的嵌入式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"><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>";

并像这样加载到UIWebView中:

[_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上。

这将自动播放嵌入的视频

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