背景
在android14 方案上,播放机器内部存储的视频,插拔外部U盘时本地正在播放的视频会闪退,即mediaserver进程已崩溃。
复现步骤
-
准备一个android14的机型,平板或者OTT均可
-
将视频文件通过adb push到内部存储中
-
使用本地播放器播放push到内部存储的视频。
-
插入带有较多视频音频等资源的U盘或者硬盘,在界面提示“U盘已接入”等提示信息后,等待3s左右,拔出U盘
-
此时本地正在播放的视频会闪退,问题已复现
具体表现
插入U盘后,等待3s左右后拔出U盘,播放内部存储的视频崩溃,这是应用闪退了,查看logcat日志可以看到有播放器应用的crash报错:
--------- beginning of crash
10-28 20:15:52.315 3631 3631 E AndroidRuntime: FATAL EXCEPTION: main
10-28 20:15:52.315 3631 3631 E AndroidRuntime: Process: com.softwinner.TvdVideo, PID: 3631
10-28 20:15:52.315 3631 3631 E AndroidRuntime: java.lang.SecurityException
10-28 20:15:52.315 3631 3631 E AndroidRuntime: at android.media.MediaPlayer._prepareAsync(Native Method)
10-28 20:15:52.315 3631 3631 E AndroidRuntime: at android.media.MediaPlayer.pre