无法播放视频 VideoView Android 12(错误 (1, -2147483648))
Posted
技术标签:
【中文标题】无法播放视频 VideoView Android 12(错误 (1, -2147483648))【英文标题】:Can't play video VideoView Android 12 (error (1, -2147483648)) 【发布时间】:2021-07-09 12:37:36 【问题描述】:我有一个带有 VideoView 的应用程序来显示 MP4 文件。在 android 12 之前,在所有设备和所有 Android 版本上一切正常。
我们有一个用户报告说 VideoView 无法播放视频,对于每个视频,他都会收到以下弹出窗口(应用不会崩溃,只是显示此弹出窗口):
我的问题:有人知道问题可能是什么吗?我期待 - 或希望 - 它与它是 Android 12 的测试版这一事实有关。如果不是这样,那么我该如何解决这个问题?针对 Android 12 w.r.t. 所做的任何更改显示视频?
非常感谢。
编辑:视频文件位于本地存储(R.raw 文件夹)
编辑 2:使用 Android 12 运行模拟器时,我收到 MediaPlyaer 错误 (1, -2147483648)。这分别对应于MediaPlayer.MEDIA_ERROR_UNKNOWN 和 UNKNOWN_ERROR,如this SO 帖子中所述。但是,那里提出的解决方案并不能解决这里的问题(格式不应该是问题,因为它们是 .mp4 文件)。有什么想法吗?
编辑 3:我就此向 Google 提交了一个问题。如果您对解决方案感兴趣,请加注星标here。希望我们能尽快找到原因!
【问题讨论】:
https://developer.android.com/about/versions/12有什么相关的吗? 您的视频位于何处?也许它与 android 11+ 的整个 MANAGE_EXTERNAL_STORAGE 权限有关 @MarkusKauppinen 不幸的是我找不到任何相关的东西.. @Nirel 它们位于 R.raw 文件夹中,因此不在外部存储中(此外,视频仍在 Android 11 上运行) 这是本地存储(在 R.raw 中) 【参考方案1】:解决的问题是以 AVC/H264 格式保存视频并使用该文件。
通过在 Google 的 Issuetracker here 上报告此问题,发现问题实际上出在本例中的视频文件编码上。未播放的视频以 MPEG-4 格式 (.mp4) 编码,超出了 MPEG-4 软件解码器的能力。
我不知道为什么在 Android 12 之前这不是问题(之前视频可以正常播放),但至少这确实解决了问题。
【讨论】:
以上是关于无法播放视频 VideoView Android 12(错误 (1, -2147483648))的主要内容,如果未能解决你的问题,请参考以下文章
无法播放视频 VideoView Android 12(错误 (1, -2147483648))
Android VideoView 我随机收到“无法播放此视频”错误
如何在 android 的 videoview 中播放 .mp4 视频?