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

音频自采集和音频自渲染

功能描述

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

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

接口调用流程

实现过程

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

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

    [_rtcEngine setExternalAudioCapture:YES
                                     sampleRate:16000
                                       channels:1]
  2. 加入房间

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

  3. 开启音频流发送

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

    [_rtcEngine  muteLocalAudio:NO];
  4. 定时推送音频数据帧

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

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

    // audioData  获取的音频数据
     [_rtcEngine pushExternalAudioFrame: audioData];

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

  5. 音频自渲染

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

注意:

当前只支持PCM数据格式处理

相关文档