动态配置mediaCodec

时间:2016-11-22 05:16:32

标签: android mediacodec

我的问题很清楚。编解码器运行时是否可以配置媒体编解码器。

代码示例:

codec = MediaCodec.createDecoderByType( "video/avc" );
     MediaFormat format = MediaFormat.createVideoFormat(CodecConfigurations.MIME_TYPE,
            CodecConfigurations.WIDTH, CodecConfigurations.HEIGHT);
    Log.d( LOG_TAG, "Track Format: " + mime );
    format.setInteger( MediaFormat.KEY_BIT_RATE, 125000 );
    format.setInteger( MediaFormat.KEY_FRAME_RATE, 15 );
    format.setInteger( MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar );
    format.setInteger( MediaFormat.KEY_I_FRAME_INTERVAL, 5 );
    codec.configure( format, null, null, 0 );
    codec.start( );

是否可以在不停止编解码器的情况下重新配置编解码器?

format.setInteger( MediaFormat.KEY_I_FRAME_INTERVAL, 10);
codec.configure( format, null, null, 0 );

1 个答案:

答案 0 :(得分:1)

根据documentation ...

enter image description here

似乎您只能从未初始化状态配置编解码器,要求您停止/重置正在运行的编解码器。