相信大家看到这个标题,就已经知道是通过在Webview中写入js,从而控制某个网页页面的播放。具体要如何实现呢?
1. 全屏
这里以爱奇艺的网页为例,当我们拿到它的一个网页url播放链接,用平板运行的时候,播放器不会是全屏状态,当我们点击全屏图标的时候,希望它能像网页那样全屏展示播放,但是实际情况是,你点击全屏,它也根本无动于衷。所以我们应该怎样做,才会自动实现全屏呢?
这里有1个难题要解决:点击网页的全屏图标,为什么不能全屏?只有这个解决了之后,我们才能用js调用这个全屏图标,自己来控制全屏了。之后查找官方文档,发现原来对于这种要做一些特殊处理:
简而言之:(1)要开启硬件加速,(2)需要重写WebChromeClient 中的onShowCustomView(View, WebChromeClient.CustomViewCallback)和onHideCustomView()。
我在网上搜索了几篇类似处理全屏的文章,并按照其中一个提供的方案,确实可以实现全屏,具体可以参考如下:
Android开发如何加载WebView中的H5页面并全屏视频播放
但是这种方案,对于页面加载完毕就要实现全屏的方案来说,并不可行,所以下面介绍第二