enableAudioFrameCallback method
Future<int?>
enableAudioFrameCallback({
- required AudioFrameCallbackMethod method,
- required AudioFormat format,
@detail api
@author gongzhengduo
@brief 设置并开启指定的音频数据帧回调
@param method 音频回调方法,参看 AudioFrameCallbackMethod{@link #AudioFrameCallbackMethod}。
当音频回调方法设置为 AUDIO_FRAME_CALLBACK_RECORD(0)、AUDIO_FRAME_CALLBACK_PLAYBACK(1)、AUDIO_FRAME_CALLBACK_MIXED(2)、 AUDIO_FRAME_CALLBACK_CAPTURE_MIXED(5) 时,你需要在参数 format 中指定准确的采样率和声道,暂不支持设置为自动。
当音频回调方法设置为 AUDIO_FRAME_CALLBACK_REMOTE_USER(3)时,将 format 中的各个字段设置为默认值。
@param format 音频参数格式,参看 AudioFormat{@link #AudioFormat}。
@return
- 0: 调用成功。
- < 0 : 调用失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明
@note 开启音频回调并调用 registerAudioFrameObserver{@link #RTCEngine#registerAudioFrameObserver} 后,IAudioFrameObserver{@link #IAudioFrameObserver} 会收到对应的音频回调。两者调用顺序没有限制且相互独立。
Implementation
Future<int?> enableAudioFrameCallback(
{required AudioFrameCallbackMethod method,
required AudioFormat format}) async {
$a() => ($instance as $p_a.RTCEngine).enableAudioFrameCallback(
t_AudioFrameCallbackMethod.code_to_android(method),
unpackObject<$p_a.AudioFormat>(format));
$i() => ($instance as $p_i.ByteRTCEngine).enableAudioFrameCallback(
t_AudioFrameCallbackMethod.code_to_ios(method),
unpackObject<$p_i.ByteRTCAudioFormat>(format));
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}