WebView退出时关闭音频或视频

本人博客地址:http://my.oschina.net/lijindou/blog

转载请标明原址:http://my.oschina.net/lijindou/blog/735785

这个是是因为我的项目中  有一块功能 是 进入后 打开 本地 Html   页面 ,然后我发现  我将 activity  finish  掉 后  webview 缺还是在 播放 音频  ,然后在网上找了找资料,发现加上下面的代码 ,看了,下面的代码的意思应该是退出的时候将其关闭吧。

@Override
protected void onDestroy() {
    super.onDestroy();
    //为了使WebView退出时音频或视频关闭
    webView.destroy();
}

我要是有什么说的不正确请大家指教!!!

如果您关闭WebView 的硬件加速,那么您可能需要使用软件渲染来播放视频。您可以使用 Android SDK 提供的 MediaPlayer 类或者 ExoPlayer 库来实现。 使用 MediaPlayer 类播放视频的基本步骤如下: 1. 创建 MediaPlayer 实例。 2. 设置数据源,可以是本地文件或者网络地址。 3. 准备 MediaPlayer。 4. 开始播放。 示例代码如下: ```java MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource("your_video_file_path"); mediaPlayer.prepare(); mediaPlayer.start(); ``` 如果您需要在 WebView 中播放网络视频,您可以使用 ExoPlayer 库来实现。ExoPlayer 是 Google 推荐的一个用于播放多种媒体格式的开源库,可以轻松地实现视频播放、缓存和跨平台支持等功能。 您需要在 WebView 中注册一个 WebChromeClient,然后在 onShowCustomView 方法中创建一个 View 并将其添加到 WebView 中。在这个 View 中,您可以使用 ExoPlayer 来播放视频。 示例代码如下: ```java private WebView webView; private FrameLayout videoLayout; private View videoView; private SimpleExoPlayer exoPlayer; webView.setWebChromeClient(new WebChromeClient() { @Override public void onShowCustomView(View view, CustomViewCallback callback) { super.onShowCustomView(view, callback); videoView = view; videoLayout.addView(videoView); exoPlayer = new SimpleExoPlayer.Builder(context).build(); exoPlayer.setVideoSurfaceView((SurfaceView) videoView); exoPlayer.setMediaItem(MediaItem.fromUri("your_video_url")); exoPlayer.prepare(); exoPlayer.play(); } @Override public void onHideCustomView() { super.onHideCustomView(); videoLayout.removeView(videoView); exoPlayer.release(); } }); ``` 其中,videoLayout 是一个 FrameLayout,用于将视频 View 添加到 WebView 中。在 onShowCustomView 方法中,我们创建了一个 SurfaceView 并将其设置为 ExoPlayer 的视频 Surface,然后设置要播放的媒体项并准备 ExoPlayer。在 onHideCustomView 方法中,我们从 videoLayout 中移除视频 View 并释放 ExoPlayer。 需要注意的是,如果您关闭WebView 的硬件加速,使用软件渲染来播放视频可能会导致性能下降和卡顿等问题。因此,建议您在必要的情况下开启 WebView 的硬件加速,并在播放视频使用硬件加速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值