webview加载本地html_安卓webview html5 自动播放本地视频,网上视频,可以循环播放...
我們做安卓開發時,webview中發現html5 視頻的autoplay根本沒實現,查看了下android 源碼HTMLVideoElement.cpp也未見相應處理,網上有資料顯示,這可能關乎UI線程與后臺線程的協調性,我看,以后的升級版本總會解決這個問題的。
html5標簽屬性不支持,那只有通過javascript來處理了
演示apk下載地址:http://download.csdn.net/detail/qiushi_1990/9513038
github源碼下載:https://github.com/qiushi123/H5Demo
下面是實現步驟和原理
一,我們在設置的WebViewClient中覆蓋方法:
不要忘記了webview.getSettings().settings.setJavaScriptEnabled(true)啟用javascript,AndroidManifest加入INTERNET權限
@Override
public void onPageFinished( WebView view, String url) {
view.loadUrl("javascript:try{autoplay();}catch(e){}");
}
實例代碼
public class Html5VideoAutoPlay extends Activity {WebView webview = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.html5video);webview = (WebView)findViewById(R.id.webview);webview.getSettings().setJavaScriptEnabled(true);webview.setWebViewClient(new WebViewClient(){/** * 當前網頁的鏈接仍在webView中跳轉 */@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}/** * 處理ssl請求 */@Overridepublic void onReceivedSslError(WebView view,SslErrorHandler handler, SslError error) {handler.proceed();}/** * 頁面載入完成回調 */@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);view.loadUrl("javascript:try{autoplay();}catch(e){}");}});webview.setWebChromeClient(new WebChromeClient() {/** * 顯示自定義視圖,無此方法視頻不能播放 */@Overridepublic void onShowCustomView(View view, CustomViewCallback callback) {super.onShowCustomView(view, callback);}});webview.loadUrl("file:///sdcard/html/video.html");}@Overrideprotected void onPause() {if(null != webview) {webview.onPause();}super.onPause();} }二,布局文件
html5video.xml
<?xml version="1.0" encoding="utf-8"?>三,html文件(這里用的是html5的video標簽來設置自動播放和循環播放)
video.html
上面的src可以引入本地視頻b.mp4,
也可以引入網上視頻:http://2449.vod.myqcloud.com/2449_43b6f696980311e59ed467f22794e792.f20.mp4
個人覺得html5結合Android會讓未來各種技術實現越來越簡單。到我的個人博客查看更多h5與安卓的結合案例。
也可以關注我github里的其他開源項目。
github:https://github.com/qiushi123?tab=repositories
實例圖片
效果圖
有任何關于編程的問題都可以私信我,我看到后會及時解答。
編程小石頭,為分享干貨而生!據說,每個年輕上進,顏值又高的互聯網人都關注了編程小石頭。?
總結
以上是生活随笔為你收集整理的webview加载本地html_安卓webview html5 自动播放本地视频,网上视频,可以循环播放...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: numpy 创建加一行_Python数据
- 下一篇: 您有新的订单提示音_《胡闹厨房:全都好吃