流处理
本地音频流处理
SDK 提供本地音频流发送前的上报回调。您可以将上报的音频数据进行变声、录音等处理。注册监听 RCRTCEngine.getInstance().getDefaultAudioStream().setRecordAudioDataListener 获取本地 PCM 音频流数据。
参数说明
参数 | 类型 | 说明 |
---|---|---|
Listener | IRCRTCAudioDataListener | 本地音频 PCM 数据采集回调 |
回调参数
回调参数 | 回调类型 | 说明 |
---|---|---|
rtcAudioFrame | RCRTCAudioFrame | 音频 PCM 数据对象 |
示例代码
Java
RCRTCEngine.getInstance().getDefaultAudioStream().setRecordAudioDataListener(new IRCRTCAudioDataListener() {
@Override
public byte[] onAudioFrame(RCRTCAudioFrame rcrtcAudioFrame) {
// 回调线程:AudioRecordJavaThread
return rcrtcAudioFrame.getBytes();
}
});
远端音频流处理
SDK 提供远端音频流接收后的上报能力。您可以使用上报的音频数据进行变声、录音等处理。注册监听 RCRTCRoom.setRemoteAudioDataListener 获取远端 PCM 音频流数据。
参数说明
参数 | 类型 | 说明 |
---|---|---|
Listener | IRCRTCAudioDataListener | 远端音频数据回调 |
回调参数
回调参数 | 回调类型 | 说明 |
---|---|---|
rtcAudioFrame | RCRTCAudioFrame | 音频 PCM 数据对象 |
示例代码
Java
// room 为 joinRoom 成功后获得的房间对象
room.setRemoteAudioDataListener(new IRCRTCAudioDataListener() {
@Override
public byte[] onAudioFrame(RCRTCAudioFrame rcrtcAudioFrame) {
return rcrtcAudioFrame.getBytes();
}
});