解码器初始化失败:OMX.qcom.video.decoder.avc,

当我打开视频多于2次时,如果我打开视频少于2次将正常工作

我找不到任何解决方案,所以如果您有任何解决方案,请帮帮我

com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc,Format(1,null,video/avc,-1,[480,270,-1.0],[-1,-1])
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:479)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111)
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303)
        at android.os.Handler.dispatchMessage(Handler.java:101)
        at android.os.Looper.loop(Looper.java:166)
        at android.os.HandlerThread.run(HandlerThread.java:65)
     Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc,-1])
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:753)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:474)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261) 
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111) 
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552) 
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647) 
        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536) 
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303) 
        at android.os.Handler.dispatchMessage(Handler.java:101) 
        at android.os.Looper.loop(Looper.java:166) 
        at android.os.HandlerThread.run(HandlerThread.java:65) 
     Caused by: android.media.MediaCodec$CodecException: Failed to initialize OMX.qcom.video.decoder.avc,error 0xfffffff4
        at android.media.MediaCodec.native_setup(Native Method)
        at android.media.MediaCodec.<init>(MediaCodec.java:1786)
        at android.media.MediaCodec.createByCodecName(MediaCodec.java:1767)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:802)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodecWithFallback(MediaCodecRenderer.java:745)
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:474) 
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.reinitializeCodec(MediaCodecRenderer.java:1261) 
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1111) 
        at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:552) 
        at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:647) 
        at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:536) 
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:303) 
        at android.os.Handler.dispatchMessage(Handler.java:101) 
        at android.os.Looper.loop(Looper.java:166) 
        at android.os.HandlerThread.run(HandlerThread.java:65) 

这里是exoplayer,minSdkVersion和targetSdkVersion版本

 implementation 'com.google.android.exoplayer:exoplayer:2.9.1'
 minSdkVersion 16
 targetSdkVersion 28

这是我的视频播放代码:

view = inflater.inflate(R.layout.video_item,container,false);
                simpleExoPlayerView = view.findViewById(R.id.video_view);
                simpleExoPlayerView.setTag("view" + position);
                player = ExoPlayerFactory.newSimpleInstance(context,new DefaultTrackSelector(),new DefaultLoadControl());
                Uri mediaUri = Uri.parse(urlList.get(position));
                mediaSource = new ExtractorMediaSource.Factory(
                        new DefaultHttpDataSourceFactory("media-slider-view")).
                        createMediaSource(mediaUri);
                simpleExoPlayerView.setPlayer(player);
                player.prepare(mediaSource,true,true);
                player.setPlayWhenReady(false);
                player.seekTo(0,0);
qhzy1 回答:解码器初始化失败:OMX.qcom.video.decoder.avc,

尝试停止并释放ExoPlayerFactory.newSimpleInstance onResume,onStop和onPause。

我尝试过了,效果很好。

enter image description here

,

每次从一个视频移到另一个视频时,是否要释放播放器并重新初始化播放器?如果没有尝试这样做。如果没有最好的方法,则可以在exoplayer演示上重现该行为,以确保问题仅在您的实现内,否则向exopleyer项目打开一个错误问题,描述如何在exoplayer演示项目上重现错误

本文链接:https://www.f2er.com/3097471.html

大家都在问