原始音频数据
registerAudioFrameObserver
注册音频观测器对象。
void registerAudioFrameObserver(AudioFrameObserver observer);
该方法用于注册音频观测器对象,即注册回调。当需要 SDK 触发 onMixedAudioFrame、onRecordAudioFrame、onPlaybackAudioFrame、onPlaybackAudioFrameBeforeMixing 和 onEarMonitoringAudioFrame 回调时,需要调用该方法注册回调。
调用时机
该方法需要在加入频道前调用。
调用限制
无。
参数
- observer
接口对象实例。详见 AudioFrameObserver。建议在收到 onLeaveChannel 后调用,来释放音频观测器对象。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类setEarMonitoringAudioFrameParameters
设置耳返的音频数据格式。
Future<void> setEarMonitoringAudioFrameParameters(
{required int sampleRate,
required int channel,
required RawAudioFrameOpModeType mode,
required int samplesPerCall});
详情
该方法用于设置 onEarMonitoringAudioFrame 回调的耳返音频数据格式。
- 调用该方法前,你需要先调用 enableInEarMonitoring,将 includeAudioFilters 设置为 earMonitoringFilterBuiltInAudioFilters 或 earMonitoringFilterNoiseSuppression。
- SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 onEarMonitoringAudioFrame 回调。
参数
- sampleRate
- onEarMonitoringAudioFrame 中报告音频的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- onEarMonitoringAudioFrame 中报告音频的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- mode
音频帧的使用模式,详见 RawAudioFrameOpModeType。
- samplesPerCall
- onEarMonitoringAudioFrame 中报告的音频的采样点数,如旁路推流应用中通常为 1024。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setMixedAudioFrameParameters
设置采集和播放音频混音后的原始音频数据格式。
Future<void> setMixedAudioFrameParameters(
{required int sampleRate,
required int channel,
required int samplesPerCall});
SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 onMixedAudioFrame 回调。
调用时机
该方法需要在加入频道前调用。
调用限制
无。
参数
- sampleRate
- 音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- 音频数据的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- samplesPerCall
- 音频数据的采样点数,如旁路推流应用中通常为 1024。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类setPlaybackAudioFrameBeforeMixingParameters
设置混音前的原始音频播放数据格式。
Future<void> setPlaybackAudioFrameBeforeMixingParameters(
{required int sampleRate, required int channel});
SDK 会根据该采样间隔触发 onPlaybackAudioFrameBeforeMixing 回调。
调用时机
该方法需要在加入频道前调用。
调用限制
无。
参数
- sampleRate
- 音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- 音频数据的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
所属接口类setPlaybackAudioFrameParameters
设置播放的原始音频数据格式。
Future<void> setPlaybackAudioFrameParameters(
{required int sampleRate,
required int channel,
required RawAudioFrameOpModeType mode,
required int samplesPerCall});
SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 onPlaybackAudioFrame 回调。
调用时机
该方法需要在加入频道前调用。
调用限制
无。
参数
- sampleRate
- 音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- 音频数据的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- mode
音频帧的使用模式,详见 RawAudioFrameOpModeType。
- samplesPerCall
- 音频数据的采样点数,如旁路推流应用中通常为 1024。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
setRecordingAudioFrameParameters
设置采集的原始音频数据格式。
Future<void> setRecordingAudioFrameParameters(
{required int sampleRate,
required int channel,
required RawAudioFrameOpModeType mode,
required int samplesPerCall});
SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 onRecordAudioFrame 回调。
调用时机
该方法需要在加入频道前调用。
调用限制
无。
参数
- sampleRate
- 音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- 音频数据的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- mode
音频帧的使用模式,详见 RawAudioFrameOpModeType。
- samplesPerCall
- 音频数据的采样点数,如旁路推流应用中通常为 1024。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
unregisterAudioFrameObserver
取消注册音频帧观测器。
void unregisterAudioFrameObserver(AudioFrameObserver observer);
参数
- observer
- 音频帧观测器,观测每帧音频的接收,详见 AudioFrameObserver。
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
onEarMonitoringAudioFrame
获得耳返的原始音频数据。
final void Function(AudioFrame audioFrame)? onEarMonitoringAudioFrame;
详情
为保证耳返的音频数据格式符合预期,你可以使用如下方法设置耳返音频数据格式:调用 setEarMonitoringAudioFrameParameters 设置音频数据格式后,调用 registerAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 onEarMonitoringAudioFrame 回调。
- 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
参数
- audioFrame
- 音频原始数据。详见 AudioFrame。
onPlaybackAudioFrameBeforeMixing
获取所订阅的远端用户混音前的声音。
final void Function(String channelId, int uid, AudioFrame audioFrame)?
onPlaybackAudioFrameBeforeMixing;
详情
参数
- channelId
- 频道 ID。
- uid
- 订阅的远端用户的 ID。
- audioFrame
- 音频原始数据。详见 AudioFrame。
onPlaybackAudioFrame
获得播放的原始音频数据。
final void Function(String channelId, AudioFrame audioFrame)?
onPlaybackAudioFrame;
详情
为保证播放的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 setPlaybackAudioFrameParameters 设置音频数据格式后,调用 registerAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 onPlaybackAudioFrame 回调。
- 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
参数
- audioFrame
- 音频原始数据。详见 AudioFrame。
- channelId
- 频道 ID。
onRecordAudioFrame
获得采集的原始音频数据。
final void Function(String channelId, AudioFrame audioFrame)?
onRecordAudioFrame;
详情
为保证采集的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 setRecordingAudioFrameParameters 设置音频数据格式后,调用 registerAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 onRecordAudioFrame 回调。
- 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
参数
- audioFrame
- 音频原始数据。详见 AudioFrame。
- channelId
- 频道 ID。
onMixedAudioFrame
获取采集和播放音频混音后的数据。
final void Function(String channelId, AudioFrame audioFrame)?
onMixedAudioFrame;
详情
为保证采集和播放混音后的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 setMixedAudioFrameParameters 设置音频数据格式后,调用 registerAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 onMixedAudioFrame 回调。
- 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
参数
- audioFrame
- 音频原始数据。详见 AudioFrame。
- channelId
- 频道 ID。