音频自采集和音频自渲染
功能介绍
实时音频传输过程中,HWRtcEngine SDK 通常会启动默认的音频模块进行采集和渲染。在以下场景中,您可能会发现默认的音频模块无法满足开发需求:
- app中已有自己的音频模块。
- 需要使用自定义的采集或播放处理。
- 某些音频采集设备被系统独占。
实现过程
- 加入房间前调用主引擎的setExternalAudioCapture (true)
加入房间前调用此接口打开自采集功能。
m_pRtcEngine->setExternalAudioCapture(true, sampleRate, channels);
- 加入房间
参考接口调用流程中加入房间的时序图步骤加入房间。
- 开启音频流发送
调用接口muteLocalAudio开启音频流发送。
m_pRtcEngine-> muteLocalAudio(false);
- 定时推送音频数据帧
加入房间成功回调后,每隔10ms定时调用pushExternalAudioFrame接口推送外部音频数据。
音频输入数据大小:10 * sampleRate * channels * 16 / 8 / 1000字节,其中的sampleRate和channels是前面调用的setExternalAudioCapture里传入的采样率和声道数参数。
// audioData 获取的音频数据指针, size 获取的音频数据字节数 engine->pushExternalAudioFrame(audioData, size);
根据帧率循环调用pushExternalAudioFrame方法往SDK推送数据。
- 音频自渲染
暂不支持音频自渲染功能。