2016-08-16 3 views
1

Я новичок в андроиде, и я показываю ссылку для новостей в веб-просмотре. Ссылка новостей содержит видео. Проблема в том, что, открыв ссылку, я должен щелкнуть по видео, а затем воспроизвести видео, но я хочу, чтобы это видео должно воспроизводиться автоматически.Auto play video in webview

Заранее спасибо.

Мой код:

myWebView.getSettings().setJavaScriptEnabled(true); 
myWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 
myWebView.getSettings().setPluginState(PluginState.ON);   

myWebView.setWebViewClient(new WebViewClient() { 
    public void onPageFinished(WebView view, String url) { web.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } 
    }); 

myWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); 
myWebView.setWebChromeClient(new WebChromeClient()); 
myWebView.loadUrl("http://aajtak.intoday.in/livetv.html"); 

ответ

2
myWebView.setWebViewClient(new WebViewClient() { 
    public void onPageFinished(WebView view, String url) {web.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } 
}); 

Вы должны осуществлять loadUrl на WebView ... Просто замените web.loadUrl с view.loadUrl и он должен работать просто отлично

2

myWebView.getSettings(). setMediaPlaybackRequiresUserGesture (ложь);

https://developer.android.com/reference/android/webkit/WebSettings.html#setMediaPlaybackRequiresUserGesture(boolean)

Примечание: Только для уровня API 17 и выше.

+0

идеального спасибо – buradd

+0

я не знаю, если это делает для того, чтобы видео автоматического воспроизведения во всех случаях, но совершенствовать меня , Большое спасибо. – bb14816

1

видео на веб-просмотре не поддерживало «автовоспроизведение». поэтому мы Шоуд начать видео вручную: андроида:

@Override 
public void onPageFinished(WebView view, String url) { 
super.onPageFinished(view, url); 
view.loadUrl("javascript:onPageFinished();"); 
} 

JS:

function onPageFinished() { 
    var video = document.getElementById("video"); 
    video.play(); 
}