自定义音频采集

更新时间:2021-05-26

概述

实时音视频传输过程中默认会采集摄像头的音视频数据,如果 app 有自己音频输入源,希望能够单独输入音频数据源,可以使用自定义音频采集功能。

说明

自定义音频采集,拉流端听到的是推流端推的自定义音频流。

diy_audio_extra2

步骤

  1. 打开外置音频采集功能
  2. 登录房间并推流
  3. 对音频进行解码
  4. 调用发送功能来发送外置音频数据

相关 API

打开和关闭外置音频采集功能

加入房间之前设置

/**
 * 打开和关闭外置音频采集功能,该参数如果打开会自动将 SDK 内置麦克风功能禁用,由用户向 SDK 输入音频 PCM 数据。
 * @param enable        布尔类型,true: 打开,false: 关闭
 */
mRtcEngine.enableExternalAudioInput(true);

发送外置音频数据

/**
 *  发送外置音频数据,注:只有调用 enableExternalAudioInput 打开外部音频输入接口之后才会生效
 * @param data          byte数组类型,音频数据
 * @return      int类型,0表示失败;!0表示成功。
 */
mRtcEngine.sendAudioFrame(audioData);

设置外置音频数据参数

加入房间之前设置

/**
 * 设置外置音频数据参数
 * @param audioConfig       音频参数
 */
mRtcEngine.setExternalAudioConfig(audioConfig);
  • 外置音频参数(LVAudioRecordConfig )说明:

    开启外置音频后可自定义外置音频采样率、 声道等。如果不设置,将会使用默认值。

// 外置音频采集参数配置
public class LVExternalAudioConfig {

    // 外置音频采集输入采样率(默认 4800000)
    private int sampleRate = 4800000;
    
    // 外置音频采集输入频道数 (默认 1)
    private int channels = 1;

}