原始音频数据(音频前后处理)
功能描述
音视频传输过程中,可以对采集到的音视频数据进行前处理和后处理,获取想要的播放效果。
对于有自行处理音视频数据需求的场景,HWRtcEngine SDK提供原始数据功能,您可以在将数据发送给编码器前进行前处理,对捕捉到的音频信号或视频帧进行修改,也可以在将数据发送给解码器后进行后处理,对接收到的音频信号或视频帧进行修改。
原始音频数据可以进行音频前处理,然后发送给远端。也可以进行音频后处理。
实现原始音频数据(音频前后处理)
- 注册音频前后处理
获取mHwRtcEngine的MediaEngine对象,调用setAudioFrameObserver方法进行注册。
传入的参数是需要实现了IHRTCAudioFrameObserver的实例对象。
从回调中获取音频帧,并进行处理。
@Override public void onAudioFramePlayback(HRTCAudioFrame hrtcAudioFrame) { // 需要播放的音频数据回调,从接口回调中取到音频数据以作后处理 } @Override public void onAudioFrameMixed(HRTCAudioFrame hrtcAudioFrame) { // 全部音频混音数据回调,包含上下行所有通道 } @Override public void onAudioFrameRecord(HRTCAudioFrame hrtcAudioFrame) { // 音频采集原始数据回调,对音频数据的修改会发送到远端 } @Override public boolean requirePlaybackAudioFrame() { // 是否开启音频后处理 return false; } @Override public boolean requireRecordAudioFrame() { // 是否开启音频前处理 return false; } @Override public boolean requireMixedAudioFrame() { // 是否需要开启全部音频混音数据回调 return false; }
- 加入房间
参考接口调用流程中加入房间的时序图步骤加入房间。