ByteBuffer encodedData = outputBuffers[outputBufferId];
encodedData.position(bufferInfo.offset);
encodedData.limit(bufferInfo.offset + bufferInfo.size);
byte[] data = new byte[bufferInfo.size];
encodedData.get(data, 0, bufferInfo.size);
encodedData.position(bufferInfo.offset);
final ByteBuffer newByteBuffer = ByteBuffer.allocateDirect(bufferInfo.size); // allocate a temp ByteBuffer
newByteBuffer.put(encodedData); // copy the data over
listener.onAudioDataMediaEncoded(newByteBuffer,bufferInfo);
listener.onAudioDataEncoded(data, bufferInfo.size, timestamp)
ByteBuffer 拷贝
于 2022-05-05 09:40:03 首次发布
本文详细阐述了如何使用ByteBuffer进行音频数据编码,包括数据获取、临时缓冲区分配和编码操作,最终通过listener传递给上下文。重点展示了ByteBuffer的get方法应用和新ByteBuffer的创建过程。
摘要由CSDN通过智能技术生成