无法播放视频 VideoView Android 12(错误(1,-2147483648))

Can't play video VideoView Android 12 (error (1, -2147483648))

我有一个带有 VideoView 的应用程序可以显示 MP4 文件。在所有设备和所有 Android 版本上,一切都运行良好,直到 Android 12.

我们有一位用户报告说 VideoView 无法播放视频,对于他收到的每个视频,他都会收到以下弹出窗口(应用程序不会崩溃,只会显示此弹出窗口):

我的问题:有人知道问题出在哪里吗?我期待 - 或者希望 - 这与它是 Android 12 的测试版这一事实有关。如果不是这种情况,那么我该如何解决这个问题? Android 12 w.r.t 发生的任何变化。显示视频?

非常感谢。

编辑:视频文件位于本地存储(R.raw 文件夹)

编辑 2:当 运行 带有 Android 12 的模拟器时,我得到 MediaPlyaer 错误(1,-2147483648)。这对应于 MediaPlayer.MEDIA_ERROR_UNKNOWN and UNKNOWN_ERROR respectively, as explained in this SO post。但是,那里提出的解决方案并没有解决这里的问题(格式不应该是问题,因为它们是 .mp4 文件)。有什么想法吗?

编辑 3: 我提交了关于此的 Google 问题。如果您对某个解决方案感兴趣,请为其加注星标 here。希望我们能尽快找到原因!

修复的问题是将视频保存为 AVC/H264 格式并使用该文件。

根据在 Google 的 Issuetracker here 上报告此问题,发现问题实际上出在本例中的视频文件编码上。未播放的视频以 MPEG-4 格式 (.mp4) 编码,超出了 MPEG-4 软件解码器的能力。

我不知道为什么这在 Android 12 之前不是问题(之前视频播放正常),但至少这确实解决了问题。