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