webView 播放视频退到后台也能正常播放

问题:
我们使用WebView播放音乐或视频(比如油管视频)
前台播放一直很正常,但是比较费电
进入后台后就会暂停播放
所以需求就是我们想要App在后台时同样播放音视频
解决办法:
重写onWindowVisibilityChanged方法,让网页任然感觉像是在前台执行。

class BackgroundMediaWebView @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : WebView(context, attrs, defStyleAttr) {

    override fun onWindowVisibilityChanged(visibility: Int) {
        super.onWindowVisibilityChanged(View.VISIBLE)

        Log.i("BackgroundMediaWebView", "onWindowVisibilityChanged " +
                "visibility=${toReadableVisibility(visibility)}")
    }

    private fun toReadableVisibility(visibility: Int): String {
        return when(visibility) {
            View.VISIBLE -> "Visible"
            View.INVISIBLE -> "Invisible"
            View.GONE -> "Gone"
            else -> "Unknown"
        }
    }
}

在线视频地址:
https://v-cdn.zjol.com.cn/280443.mp4
https://v-cdn.zjol.com.cn/276982.mp4
https://v-cdn.zjol.com.cn/276984.mp4
https://v-cdn.zjol.com.cn/276985.mp4

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。