Android 视频解码器配置
我正在写一个应用程序,解码视频样本和播放解码样本。为此,我使用MediaExtractor API。在配置解码器时,我遇到错误。这是我的日志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
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内核上。它在其他设备上工作完全正常。