android webview 加载带视频的URL

在Android应用中使用WebView打开含有视频的网页时,遇到视频无法播放及退出界面后视频声音继续播放的问题。解决方案包括对WebView的配置调整和确保在退出时正确处理视频播放状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


问题描述:

  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();
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值