android webview 加载带视频的URL


问题描述:

  1.    webview打开带有视频的链接,视频无法播放
  2.  视频播放过程中返回结束掉界面,视频声音依旧播放,不会暂停    

解决方案:

  •   播放视频,当中一些方法可以自己去了解,自己选择性做设置
           
WebSettings webSettings = mWebView.getSettings();
		webSettings.setUseWideViewPort(true);
		webSettings.setLoadWithOverviewMode(true);
		webSettings.setJavaScriptEnabled(true);
		webSettings.setAllowFileAccess(true);
		webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
		// 开启支持视频
		webSettings.setPluginState(PluginState.ON);
		webSettings.setGeolocationEnabled(true);
		// 开启DOM缓存。
		webSettings.setDomStorageEnabled(true);
		webSettings.setDatabaseEnabled(true);
		webSettings.setDatabasePath(getApplicationContext().getCacheDir()
				.getAbsolutePath());
		webSettings.setAppCacheEnabled(true);
		webSettings.setAppCachePath(getApplicationContext().getCacheDir()
				.getAbsolutePath());
		webSettings.setAppCacheMaxSize(Integer.MAX_VALUE);
		mWebView.requestFocus();
		mWebView.setWebChromeClient(new WebChromeClient(){
		});

		// 覆盖WebView默认通过第三方或者系统浏览器打开网页的行为
		mWebView.setWebViewClient(new WebViewClient() {

			// WebViewClient帮主WebView处理一些页面控制和请求通知
			// 还可以重写很多方法

			@Override
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				// TODO Auto-generated method stub

				// 返回true 控制网页在webview中打开
				// false 则是调用系统浏览器 或者第三方浏览器

				view.loadUrl(url);
				return true;
			}

		});

  • 退出界面声音不关闭的问题
       
         /**
	 * 解决退出仍有声音的bug
	 */
	@Override
	protected void onPause() {
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
			mWebView.onPause(); // 暂停网页中正在播放的视频
	    }
		super.onPause();
	}

你可能感兴趣的:(Android笔记)