Android 视频解码器配置

Android 视频解码器配置,android,Android,我正在写一个应用程序,解码视频样本和播放解码样本。为此,我使用MediaExtractor API。在配置解码器时,我遇到错误。这是我的日志 01-08 11:46:50.225: E/ACodec(23085): [OMX.qcom.video.decoder.avc] configureCodec returning error -2147483648 01-08 11:46:50.225: A/MediaCodec(23085): frameworks/av/media/libstagef

我正在写一个应用程序,解码视频样本和播放解码样本。为此,我使用MediaExtractor API。在配置解码器时,我遇到错误。这是我的日志

01-08 11:46:50.225: E/ACodec(23085): [OMX.qcom.video.decoder.avc] configureCodec returning error -2147483648
01-08 11:46:50.225: A/MediaCodec(23085): frameworks/av/media/libstagefright/MediaCodec.cpp:743 CHECK_EQ( mState,INITIALIZED) failed: 3 vs. 2
01-08 11:46:50.225: A/libc(23085): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 23136 (MediaCodec_loop)
01-08 11:46:50.225: I/OMXClient(23085): Using client-side OMX mux.
01-08 11:46:50.225: E/ACodec(23085): Unable to instantiate a decoder for type 'video/avc'.
01-08 11:46:50.225: A/ACodec(23085): frameworks/av/media/libstagefright/ACodec.cpp:3302 CHECK(mCodec->mNode != NULL) failed.
01-08 11:46:50.225: A/libc(23085): Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1), thread 23137 (CodecLooper)
这是我的密码

    for (int i = 0; i < videoExtractor.getTrackCount(); i++) {
                    MediaFormat format = videoExtractor.getTrackFormat(i);
                    String mime = format.getString(MediaFormat.KEY_MIME);
                    if (mime.startsWith("video/")) {
                        videoExtractor.selectTrack(i);
                        videoExtractorForSeek.selectTrack(i);
                        videoDecoder = MediaCodec.createDecoderByType(mime);
//error is in below line
                        videoDecoder.configure(format, surface, null, 0);
                        break;            
                    }
                }
for(int i=0;i

此代码在android版本4.2及以上版本中工作。在4.1.2中失败了

嘿,你有什么答案吗?我有同样的问题是猜测。我使用的是谷歌的ExoPlayer,这次崩溃似乎发生在三星Galaxy的4.1.2内核上。它在其他设备上工作完全正常。