better_player或外部层抛出异常OMX.MTK.VIDEO.DECODER.AVC



我在better_player上遇到了一个问题,因为这个异常,一些设备没有流式传输实时链接:

Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, Format(0, null, null, video/avc, avc1.4D4028, -1, null, [320, 180, -1.0], [-1, -1])
E/ExoPlayerImplInternal(14168):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:867)
E/ExoPlayerImplInternal(14168):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:561)
E/ExoPlayerImplInternal(14168):       ... 9 more
E/ExoPlayerImplInternal(14168):   Caused by: android.media.MediaCodec$CodecException: Failed to initialize OMX.MTK.VIDEO.DECODER.AVC, error 0xfffffff4
E/ExoPlayerImplInternal(14168):       at android.media.MediaCodec.native_setup(Native Method)
E/ExoPlayerImplInternal(14168):       at android.media.MediaCodec.<init>(MediaCodec.java:1811)
E/ExoPlayerImplInternal(14168):       at android.media.MediaCodec.createByCodecName(MediaCodec.java:1792)
E/ExoPlayerImplInternal(14168):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:925)
E/ExoPlayerImplInternal(14168):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:860)
E/ExoPlayerImplInternal(14168):       ... 10 more

这似乎来自ExoPlayer,但如何解决?

请记住,大多数设备可以同时拥有有限数量的解码器实例。所以,也许你达到了这个极限。在创建新实例之前,还要检查您的应用程序是否成功发布了任何旧的外层实例。

此外,设备可能不支持媒体的分辨率。在这种情况下,您可以尝试用这些支持的媒体格式之一重新编码媒体文件。

我自己也遇到过这个问题。假设你在列表视图中使用BetterPlayer小工具,你会遇到这个解码器问题。BetterPlayer有一个特定的小部件来处理在列表视图中播放视频。我建议您查看"更好的视频列表示例",看看它是否修复了您的错误。

最新更新