
1. 本地视频资源地址:
File videoFile = new File(Environment.getExternalStorageDirectory().toString()
+ File.separator + "testVideo.mp4");
if (videoFile.exists() && videoFile.isFile()) {
Uri videoUri = Uri.fromFile(videoFile);
}

2. 视频资源地址:
//此处的地址是捏造的假地址,如有雷同,纯属巧合。
Uri videoUri = Uri.parse("http://google/driver/video/8169586b.mp4");

问题描述:
当我在API = 27及以下的手机和模拟计算机上进行测试时,这两种方法都可以正常播放视频. 但是,在API = 28的手机和模拟器上进行测试时,本地视频可以正常播放. 播放网络视频时,MediaPlayer的OnErrorListener捕获到错误. 参数值是: 什么= 1,额外= -2147483648

查看错误值(1,-2147483648)时,“ 1”值对应于恒定光; “ -2147483648”值对应于十六进制0x80000000,该值在frameworks / native / include / utils / Errors.h UNKNOWN_ERROR中定义. 这表明错误的来源很难确定,因为它是一个非常普通的返回值,由编和兼容性问题引发手机本地视频播放器,但是也有线程取消和其他几种类型. 简而言之,这是未知错误.
解决问题: 经过许多挫折后,我在主项目的Build.gradle文件中修改了Target_Version.

我主项目的Build.gradle文件中的
Target_Version = 28,取决于库中Build.gradle文件中的Target_Version = 28. 将主项目的Target_Version修改为27后,我再次运行该程序,发现网络视频可以正常播放. 在测试了27以下的一些值之后,它们都是正常的. 但是手机本地视频播放器,无论从属库的Build.gradle文件中的Target_Version修改为什么值,都不会对该问题产生积极影响.
后遗症
但是,我的依存库将来会使用一些不确定的主要项目. 我不在乎其他人的主要项目的Target_Version值. 如果我依赖于Target_Version = 28的主项目,则问题仍然存在. 解决.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/bofangqi/article-176678-1.html
)这讲的是人话
苍蝇也是要防的