最近,我尝试用Exoplayer播放.m3u8视频流。经过一段时间的编码后,它在Emulator中可以正常工作。
这里是问题,当我将APK安装到移动设备上时,我发现HTTP中的URL未加载,但HTTPS URL有效。 (HTTP和HTTPS在模拟器中都可以正常工作)。对于之前的任何解决方法,请帮助提供建议。
android.widget.VideoView
,但效果却不如Exoplayer
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
`
videoview = (VideoView) findViewById(R.id.video_view);
videoview.setVideoURI(Uri.parse(videoURL));
videoview.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared() {
videoview.start();
}
});
`
答案 0 :(得分:0)
最后找到问题的原因。这是因为Android 9的功能和行为发生了变化。从现在起,没有加密的请求将永远无法使用。默认情况下,系统会期望您默认使用TLS。
https://developer.android.com/about/versions/pie/android-9.0-changes-28
由于我的模拟器是在Android 7中,而Real Device是在Android 9中,所以原因。