功能描述
一些特殊的场景中,比如用户已有自己的音频模块,或者有自定义采集或播放的需求。QttAudio SDK支持用户使用自定义的音频采集或播放。
普通用户可跳过该章节。
自定义采集
public class ChannelEngine { |
实现步骤
- 进入频道(join)前,调用setExternalRecorder方法启用自定义音频采集。
- 持续调用pushExternalRecordFrame方法,将采集的音频数据写入SDK,最好是加入房间成功后进行写入。
自定义播放
public interface DataObserver { |
实现步骤
- 进入频道(join)前,调用setExternalPlayer方法启用自定义音频播放。
DataObserver会通过onData接口持续回调待播放的数据,开发者将数据从ByteBuffer中取出来自行播放。 ByteBuffer需要先rewind再使用,使用方法示例:
boolean onData(ByteBuffer byteBuffer, int len) {
byteBuffer.rewind();
byte[] data = new byte[len];
byteBuffer.get(data, 0, len);
...
return false;
}