我已经设法让我的视频自动播放在我的 webview.apk 中,在我的手机(4.1.2)上进行了测试并且它可以工作,而在我的 Android 迷你电脑(4.2)上必须单击才能开始播放...:(
WebChromeClient 可能是原因吗?如果它与 chromium 有一些共同点,那么它也无法自动播放,而普通的网络浏览器却运行得很好?
我用来让自动播放工作的 JavaScript 如下:
<html>
<head>
<script>
function callback () {
document.querySelector('video').play();
}
window.addEventListener("load", callback, false);
</script>
</head>
<body>
<div id="video_post1" style="margin: -454px 0px 0px -3px;position: absolute;">
<video controls autoplay with="600" height="400">
<source src="http://www.edmondvarga.com/demo/videos/trx.mp4" type="video/mp4">
</video>
</div>
</body>
</html>
也许我会使用另一种语法来播放它(例如:文档准备好)?
Eclipse代码,仅供演示:
package tscolari.mobile_sample;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebChromeClient;
import android.media.MediaPlayer;
public class InfoSpotActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView mainWebView = (WebView) findViewById(R.id.mainWebView);
WebSettings webSettings = mainWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mainWebView.setWebChromeClient(new WebChromeClient());
mainWebView.setWebViewClient(new MyCustomWebViewClient());
mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
mainWebView.loadUrl("http://server.info-spot.net");
}
private class MyCustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
我意识到这是一个老问题,但这个答案可能会对以后的人有所帮助:
Android(和 iOS)禁用了autoplay
HTML5 中的标签video
Chrome 或本机浏览器中的节点。播放视频需要用户交互(onClick 或 onMouseOver 等)。但是,如果需要,可以在自己的 WebView 中自动播放视频。
要在 Android Webview 中自动播放视频,请发布 Android 4.4:
webview.setWebChromeClient(new WebChromeClient());
webview.getSettings().setMediaPlaybackRequiresUserGesture(false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)