Videoview播放网络视频问题
Videoview播放网络视频问题一次性解决
一般解决
我们知道,安卓播放网络视频是需要网络权限的,所以第一步:
在AndroidMainfest文件里面添加如下代码:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
如图:
同时配置network_security_config.xml文件,在res文件夹下新建xml文件夹,在xml文件夹新建文件
如图位置如下:
network_security_config.xml文件
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config>
<domain includeSubdomains="true">example.com</domain>
<pin-set expiration="2018-01-01">
<pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
<!-- backup pin -->
<pin digest="SHA-256">fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=</pin>
</pin-set>
</domain-config>
</network-security-config>
并在AndroidMainfest文件里添加:
android:networkSecurityConfig="@xml/network_security_config"
如图:
特殊解决
如果这个添加了之后还是播放不了,则可能是安卓api版本过高,限制了HTTP明文请求,具体原因可参见这篇文章
解决方法如下:
在AndroidMainfest里面先添加如下代码:
android:usesCleartextTraffic="true
同时修改network_security_config.xml文件,改为:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
<domain-config>
<domain includeSubdomains="true">example.com</domain>
<pin-set expiration="2018-01-01">
<pin digest="SHA-256">7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=</pin>
<!-- backup pin -->
<pin digest="SHA-256">fwza0LRMXouZHRC8Ei+4PyuldPDcf3UKgO/04cDM1oE=</pin>
</pin-set>
</domain-config>
</network-security-config>
然后就可以播放了~~~