MediaMetadataRetriever/MediaPlayer LG 设备上的 .m4b 文件失败

MediaMetadataRetriever/MediaPlayer fails with .m4b files on LG device

我有一个下载 m4b 文件的应用程序。当我尝试使用 MediaMetadataRetriever 读取文件的元数据时,我得到了空值。这只发生在 LG 设备上。 Android 4、5 或 6 无关紧要。

我可以使用 FFmpegMediaMetadataRetriever 解决这个问题,但是 MediaPlayer 库无法播放该文件。

除 LGE 设备外,它在所有设备上都能正常工作。 它在我的 Nexus 5x 上运行良好,我知道它是由 LG 制造的,但 Build.BRAND 将其报告为 "google" 而不是 "LGE"

知道为什么会发生这种情况以及我该如何解决它吗?

切换到 ExoPlayer 而不是 MediaPlayer 和 FFmpegMediaMetadataRetriever 而不是 MediaMetadataRetreiver 解决了我的问题。