pullExternalAudioFrame method
@detail api
@author huangshouqin
@brief 拉取下行音频数据用于自定义音频渲染。
调用该方法后,SDK 会主动拉取待播放的音频数据,包括远端已解码和混音后的音频数据,用于外部播放。
@param audioFrame 音频数据帧,详见 ByteRTCAudioFrame{@link #ByteRTCAudioFrame}
@return 方法调用结果
- 0: 设置成功
- < 0: 设置失败
@note
- 拉取外部音频数据前,必须先调用 setAudioRenderType:{@link #ByteRTCEngine#setAudioRenderType} 开启自定义渲染。
- 由于 RTC SDK 的帧长为 10 毫秒,你应当每隔 10 毫秒拉取一次音频数据。确保音频采样点数(sample)x 拉取频率等于 audioFrame 的采样率 (sampleRate)。如设置采样率为 48000 时,每 10 毫秒调用本接口拉取数据,每次应拉取 480 个采样点。
- 音频采样格式为 S16。音频缓冲区内的数据格式必须为 PCM 数据,其容量大小应该为 audioFrame.samples × audioFrame.channel × 2。
Implementation
FutureOr<int> pullExternalAudioFrame(ByteRTCAudioFrame audioFrame) async {
return await nativeCall('pullExternalAudioFrame:', [audioFrame]);
}