跳到主要内容

流处理

本地音频流处理

SDK 提供了本地音频流发送前上报,用户可以利用上报的音频数据做变声、录音等处理。注册监听 RCRTCEngine.getInstance().getDefaultAudioStream().setRecordAudioDataListener 获取本地 PCM 音频流数据。

  • 参数说明:

    参数类型说明
    ListenerIRCRTCAudioDataListener本地音频 PCM 数据采集回调
  • 回调参数:

    回调参数回调类型说明
    rtcAudioFrameRCRTCAudioFrame音频 PCM 数据对象
  • 示例代码:

    RCRTCEngine.getInstance().getDefaultAudioStream().setRecordAudioDataListener(new IRCRTCAudioDataListener() {
    @Override
    public byte[] onAudioFrame(RCRTCAudioFrame rcrtcAudioFrame) {
    //回调线程:AudioRecordJavaThread
    return rcrtcAudioFrame.getBytes();
    }
    });

远端音频流处理

SDK 提供远端音频流接收后上报,用户可以利用上报的音频数据做变声,录音等处理。注册监听 RCRTCRoom.setRemoteAudioDataListener 获取远端 PCM 音频流数据。

  • 参数说明:

    参数类型说明
    ListenerIRCRTCAudioDataListener远端音频数据回调
  • 回调参数:

    回调参数回调类型说明
    rtcAudioFrameRCRTCAudioFrame音频 PCM 数据对象
  • 示例代码:

    // `room` 为 joinRoom 成功后获得的房间对象
    room.setRemoteAudioDataListener(new IRCRTCAudioDataListener() {
    @Override
    public byte[] onAudioFrame(RCRTCAudioFrame rcrtcAudioFrame) {
    return rcrtcAudioFrame.getBytes();
    }
    });