已编码音频数据
registerAudioEncodedFrameObserver
注册编码音频数据的观察器。
Java
public abstract int registerAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer);
信息
调用该方法需在加入频道后进行。你可以调用此方法或
startAudioRecording 来设置音频文件的录制类型和质量,但不建议同时使用这两个方法。只有后调用的方法会生效。参数
- config
- 编码音频的观察器配置。详见 AudioEncodedFrameObserverConfig。
- observer
- 编码音频数据的观察器。详见 IAudioEncodedFrameObserver。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onMixedAudioEncodedFrame
本地及所有远端用户的混音编码音频数据回调。
Java
public abstract void onMixedAudioEncodedFrame(ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType);
调用 registerAudioEncodedFrameObserver 并将音频配置设置为 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED 后,可以通过该回调获取混音编码音频数据。
参数
- buffer
- 音频缓冲区。
- samplesPerChannel
- 每个声道中的采样数。
- channels
- 声道数:
- 1:单声道。
- 2:立体声。若为立体声,数据为交错排列。
- samplesPerSec
- 录制采样率(Hz)。
- codecType
- 音频编码类型:
- 1:OPUS。
- 8:LC-AAC。
- 9:HE-AAC。
- 11:HE-AAC v2。
onPlaybackAudioEncodedFrame
获取所有远端用户编码音频数据的回调。
Java
public abstract void onPlaybackAudioEncodedFrame(ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType);
调用 registerAudioEncodedFrameObserver 并将编码音频设置为 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK 后,可以通过该回调获取所有远端用户的编码音频数据。
触发时机
该回调在获取远端用户编码音频数据时被触发。
参数
- buffer
- 音频缓冲区。
- samplesPerChannel
- 每个声道中的采样数。
- channels
- 声道数:
- 1:单声道。
- 2:立体声。若为立体声,数据为交错排列。
- samplesPerSec
- 录音采样率(Hz)。
- codecType
- 音频编码类型:
1:OPUS。8:LC-AAC。9:HE-AAC。11:HE-AAC v2。
onRecordAudioEncodedFrame
本地用户编码音频数据回调。
Java
public abstract void onRecordAudioEncodedFrame(ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType);
调用 registerAudioEncodedFrameObserver 并将编码音频设置为 AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIC 后,可以通过该回调获取本地用户的编码音频数据。
参数
- buffer
- 音频缓冲区。
- samplesPerChannel
- 音频帧中每个声道的采样数。
- channels
- 声道数:
- 1:单声道。
- 2:立体声。若为立体声,数据为交错排列。
- samplesPerSec
- 录制采样率(Hz)。
- codecType
- 音频编码类型:
1:OPUS。8:LC-AAC。9:HE-AAC。11:HE-AAC v2。