You need to enable JavaScript to run this app.
导航

Native 端自定义音频采集和渲染

最近更新时间2023.09.07 19:17:48

首次发布时间2022.01.11 11:55:52

当你使用 RTC SDK 进行音视频通话时,会默认使用 SDK 内部的音频模块进行音频采集和渲染。在一些场景下,内部模块可能无法满足你的需求:

  • 音视频应用中已有音频采集和渲染模块;
  • 希望对采集到的音视频数据进行一些传输前处理;
  • 某些音频采集设备被占用。
    在这些场景下,你可以参考本文,通过 RTC SDK 使用自定义方式进行音频的采集和渲染。

前提条件

开始自定义采集和渲染前,请确保你已经集成 3.40 及以上版本的 RTC SDK,已实现基本的音频通话功能。

集成步骤

以 Android 为例,你可以参照以下步骤,实现自定义音频采集和渲染。

自定义音频采集

  1. 调用 setAudioSourceType 设置音频采集模式为自定义采集。
  2. 自行采集并处理音频数据。
  3. 每隔 10ms 调用 pushExternalAudioFrame 将处理好的音频数据推送到 RTC SDK。

开启自定义采集后,可以通过调用 setAudioSourceType 切换至内部采集,然后调用 startAudioCapture 手动开启内部采集。

自定义音频渲染

  1. 调用 setAudioRenderType 设置音频渲染方式为自定义渲染。
  2. 进入房间后,每隔 10ms 调用 pullExternalAudioFrame 拉取远端用户的音频数据。
  3. 在本地渲染拉取的音频数据。

注意事项

采用自定义音频采集和渲染时,请自行实现音频 3A 处理。

API 参考