【发布时间】:2013-02-18 14:03:34
【问题描述】:
我正在尝试使用 Nexus 来测试 Mediacodec API 的编码。我可以看到编码器提供的 inputBuffers 是 119040(通过记录 inputBuffers.capacity)。但是框架的大小,即输入,是 460800。我在inputBuffer.put 和buffer overflow 收到错误消息。所以我正准备将输入缓冲区设置为 460800。我能找到的 API 是BufferInfo.set。但是,我找不到将此设置附加到编码器的方法。有人可以帮忙吗?谢谢!!!
encoder = MediaCodec.createByCodecName(codecInfo.getName());
ByteBuffer[] inputBuffers = encoder.getInputBuffers();
if (inputBufferIndex >= 0) {
ByteBuffer inputBuffer = inputBuffers[inputBufferIndex];
inputBuffer.clear();
inputBuffer.put(input);
encoder.queueInputBuffer(inputBufferIndex, 0, input.length, 0, 0);}
【问题讨论】:
-
您好,您找到解决方案了吗?如果是,请发布一些提示或完整的解决方案。