2015-07-14 2 views
3

Я делаю свое приложение загружать видео с YouTube через UIWebView, но должен иметь возможность приостановить его и сыграть в определенное время. Я посмотрел на все ответы здесь, и никто из них не работает. Я пробовал:Как сделать UIWebView паузой/воспроизведением видеоконтента программно

webView.stringByEvaluatingJavaScriptFromString("var videos = document.querySelectorAll(\"video\"); for (var i = videos.length - 1; i >= 0; i--) { videos[i].pause(); };") 

Но это просто ничего не делает. Если это важно, я загрузки видео на этом:

webView.allowsInlineMediaPlayback = true 
webView.mediaPlaybackRequiresUserAction = false  

let embededHTML = "<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width='0' height='0' src='http://www.youtube.com/embed/\(videoID)?enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'></body></html>" 

webView.loadHTMLString(embededHTML, baseURL: NSBundle.mainBundle().resourceURL) 
+1

Что IOS версии вы используете? Вы уже просмотрели поток [this] (https://code.google.com/p/gdata-issues/issues/detail?id=5204)? В качестве альтернативы вы можете попробовать исправить предложенное в [this] (http://stackoverflow.com/a/19433036/4241842) ответ (я предполагаю, что подобная логика следует, если вы хотите использовать 'pauseVideo()'). –

+0

Первая ссылка была идеальной! Благодаря! – lagoon

ответ

3

Как not_a_bot связаны между собой, используя ytplayer.pauseVideo() и ytplayer.playVideo() работает отлично.

webView.stringByEvaluatingJavaScriptFromString("ytplayer.pauseVideo()") 

или

webView.stringByEvaluatingJavaScriptFromString("ytplayer.playVideo()") 
Смежные вопросы