更新时间:2023-10-26 GMT+08:00
分享

音频自采集和音频自渲染

功能介绍

实时音频传输过程中,HWRtcEngine SDK 通常会启动默认的音频模块进行采集和渲染。在以下场景中,您可能会发现默认的音频模块无法满足开发需求:

  • app中已有自己的音频模块。
  • 需要使用自定义的采集或播放处理。
  • 某些音频采集设备被系统独占。

接口调用流程

实现过程

  1. 加入房间前调用主引擎的setExternalAudioCapture (true)

    加入房间前调用此接口打开自采集功能。

    m_pRtcEngine->setExternalAudioCapture(true, sampleRate, channels);
  2. 加入房间

    参考接口调用流程中加入房间的时序图步骤加入房间。

  3. 开启音频流发送

    调用接口muteLocalAudio开启音频流发送。

    m_pRtcEngine-> muteLocalAudio(false);
  4. 定时推送音频数据帧

    加入房间成功回调后,每隔10ms定时调用pushExternalAudioFrame接口推送外部音频数据。

    音频输入数据大小:10 * sampleRate * channels * 16 / 8 / 1000字节,其中的sampleRate和channels是前面调用的setExternalAudioCapture里传入的采样率和声道数参数。

    // audioData  获取的音频数据指针, size 获取的音频数据字节数
     engine->pushExternalAudioFrame(audioData, size);

    根据帧率循环调用pushExternalAudioFrame方法往SDK推送数据。

  5. 音频自渲染

    暂不支持音频自渲染功能。

相关文档