我无法让Flowplayer在
Android上的WebView中自动播放视频.如果按下HTML内播放按钮,视频可以正常播放,但它不会自动启动.这似乎与Chrome有关,因为自动播放在Android Chrome浏览器中也不起作用.它适用于Android浏览器和Chrome(Linux)桌面.
我已经看到this page建议添加一个WEBM文件以使MP4内容工作,但它没有帮助.我也看过this page提到使用新设置setMediaPlaybackRequiresUserGesture(),但这也没有帮助.
有人有自动播放在Android WebView中工作吗?
这是我的测试代码,将应用程序提炼为其基本要素.
package com.example.testautovideo;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webview = new WebView(this);
setContentView(webview);
webview.setWebChromeClient(new WebChromeClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setLoadsImagesAutomatically(true);
// webview.getSettings().setMediaPlaybackRequiresUserGesture(false); // didn't help
webview.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
webview.loadUrl(THE_URL);
}
}
这是我的网页的来源. Flowplayer和jQuery调用是标准安装. Flowplayer库是最新的免费版本; jQuery库是最新的生产版本.
Autoplay Test$(document).ready(function(){
function playVideo(){
var player = flowplayer($('#theVideo'));
player.play();
}
setTimeout(playVideo,10);
});
body {
margin:0;
padding:0;
background:#000;
}
#wrapper .flowplayer {
width:640px;
height:360px;
}
#wrapper {
width:640px;
height:360px;
background:#000;
margin:30px auto;
}
我知道链接可能会过时,但是这个网页的a copy有工作的Flowplayer和jQuery安装.