MediaCodec decoder.configure给出illegalstateexception

时间:2016-11-06 12:45:50

标签: android-mediaplayer codec mediacodec

我正在尝试使用MediaCodec从视频中提取帧。 我试图先运行以下示例http://bigflake.com/mediacodec/ExtractMpegFramesTest_egl14.java.txt

String mime = format.getString(MediaFormat.KEY_MIME);
decoder = MediaCodec.createDecoderByType(mime);
try
{
    decoder.configure(format, outputSurface.getSurface(), null, 0);
}
catch (Exception ex)
{
    Log.e(TAG, ex.toString());
}

我得到 IllegalStateException 。 我是使用mediaCodecs的新手。请帮助。

format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 0);

上面的代码行无法解决问题。

1 个答案:

答案 0 :(得分:0)

您需要在配置后启动解码器,像这样:

String mime = format.getString(MediaFormat.KEY_MIME);
decoder = MediaCodec.createDecoderByType(mime);
decoder.configure(format, outputSurface.getSurface(), null, 0);
decoder.start();