我正在使用 mediaCodec API 压缩媒体文件(解码和编码), 我正在使用大小为 4MB(YUV 格式)的解码器对其进行解码。
当我尝试将此解码文件排队到编码器时,我收到非法状态异常。后来我发现原因是编码器输入缓冲区没有所需的缓冲区大小。有没有人可以解决这个问题?
最佳答案
默认输入缓冲区大小为 112 KB,因此,如果解码器输出的大小大于此大小,则应手动修复此问题。通过设置这个常量MediaFormat.KEY_MAX_INPUT_SIZE
关于java - 使用 MediaCodec 进行压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14501005/