原始音频数据
SetEarMonitoringAudioFrameParameters
设置耳返的音频数据格式。
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall);
详情
该方法用于设置 FOnEarMonitoringAudioFrame 回调的耳返音频数据格式。
- 调用该方法前,你需要先调用 EnableInEarMonitoring,将 includeAudioFilters 设置为 EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS 或 EAR_MONITORING_FILTER_NOISE_SUPPRESSION。
- SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 FOnEarMonitoringAudioFrame 回调。
参数
- sampleRate
- FOnEarMonitoringAudioFrame 中报告音频的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- FOnEarMonitoringAudioFrame 中报告音频的声道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- mode
音频帧的使用模式,详见 ERAW_AUDIO_FRAME_OP_MODE_TYPE。
- samplesPerCall
- FOnEarMonitoringAudioFrame 中报告的音频的采样点数,如旁路推流应用中通常为 1024。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
SetMixedAudioFrameParameters
设置 FOnMixedAudioFrame
报告的音频数据格式。
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall);
参数
- sampleRate
音频数据采样率 (Hz),可设置为
8000
、16000
、32000
、44100
或48000
。- channel
音频数据声道数,可设置为
1
(单声道) 或2
(双声道)。- samplesPerCall
音频数据采样点数。旁路推流场景下通常设为
1024
。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
SetPlaybackAudioFrameBeforeMixingParameters
设置 FOnPlaybackAudioFrameBeforeMixing
报告的音频数据格式。
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel);
参数
- sampleRate
音频数据采样率 (Hz),可设置为
8000
、16000
、32000
、44100
或48000
。- channel
音频数据声道数,可设置为
1
(单声道)或2
(双声道)。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
SetPlaybackAudioFrameParameters
设置播放的音频格式。
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetPlaybackAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall);
详情
该方法设置 FOnPlaybackAudioFrame 回调数据的格式。
- 该方法需要在加入频道前调用。
- SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 FOnPlaybackAudioFrame 回调。
参数
- sampleRate
- FOnPlaybackAudioFrame 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- FOnPlaybackAudioFrame 中返回数据的通道数,可设置为 1 或 2:
- 1: 单声道
- 2: 双声道
- mode
音频帧的使用模式,详见 ERAW_AUDIO_FRAME_OP_MODE_TYPE。
- samplesPerCall
- FOnPlaybackAudioFrame 中返回数据的采样点数,如旁路推流应用中通常为 1024。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
SetRecordingAudioFrameParameters
设置采集的原始音频数据格式。
UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy")
int SetRecordingAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall);
详情
该方法设置 FOnRecordAudioFrame 回调的采集音频格式。
- 该方法需要在加入频道前调用。
- SDK 会通过该方法中的 samplesPerCall、sampleRate 和 channel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 FOnRecordAudioFrame 回调。
参数
- sampleRate
- FOnRecordAudioFrame 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。
- channel
- FOnRecordAudioFrame 中返回数据的通道数,可设置为 1 或 2:
- 1: 单声道。
- 2: 双声道。
- mode
音频帧的使用模式,详见 ERAW_AUDIO_FRAME_OP_MODE_TYPE。
- samplesPerCall
- FOnRecordAudioFrame 中返回数据的采样点数,如旁路推流应用中通常为 1024。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
FGetMixedAudioParams
设置 FOnMixedAudioFrame
回调数据的格式。
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMixedAudioParams);
详情
你需要在调用 RegisterAudioFrameObserver 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置 SDK 采集和播放音频混音后的数据格式。
SDK 会通过你在返回值中设置的 AudioParams 计算采样间隔触发 FOnMixedAudioFrame 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。
请确保采样间隔不小于 0.01 秒。
返回值
SDK 采集和播放音频混音后的音频数据,详见 AudioParams。
所属接口类FGetObservedAudioFramePosition
设置音频观测位置。
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedAudioFramePosition);
详情
你可以根据场景需求,通过修改 FGetObservedAudioFramePosition 的返回值,设置你需要观测的某个或多个位置。
注解观测多个位置时,需要使用 |(或运算符)。为降低设备耗能,你可以根据实际需求适当减少观测位置。
返回值
- AUDIO_FRAME_POSITION_PLAYBACK (0x0001):该位置可观测所有远端用户混音后的播放音频,对应 FOnPlaybackAudioFrame 回调。
- AUDIO_FRAME_POSITION_RECORD (0x0002):该位置可观测采集的本地用户的音频,对应 FOnRecordAudioFrame 回调。
- AUDIO_FRAME_POSITION_MIXED (0x0004):该位置可观测本地和所有远端用户混音后的音频,对应 FOnMixedAudioFrame 回调。
- AUDIO_FRAME_POSITION_BEFORE_MIXING (0x0008):该位置可观测单个远端用户混音前的音频,对应 FOnPlaybackAudioFrameBeforeMixing 回调。
- AUDIO_FRAME_POSITION_EAR_MONITORING (0x0010):该位置可观测单个本地用户耳返的音频,对应 FOnEarMonitoringAudioFrame 回调。
FGetPlaybackAudioParams
设置 FOnPlaybackAudioFrame
回调数据的格式。
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetPlaybackAudioParams);
详情
你需要在调用 RegisterAudioFrameObserver 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置 SDK 播放的音频数据格式。
SDK 会通过你在返回值中设置的 AudioParams 计算采样间隔触发 FOnPlaybackAudioFrame 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。
请确保采样间隔不小于 0.01 秒。
返回值
SDK 播放的音频数据,详见 AudioParams。
所属接口类FGetRecordAudioParams
设置 FOnRecordAudioFrame
回调数据的格式。
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRecordAudioParams);
详情
你需要在调用 RegisterAudioFrameObserver 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置 SDK 采集的音频数据格式。
SDK 会通过你在返回值中设置的 AudioParams 计算采样间隔触发 FOnRecordAudioFrame 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。
请确保采样间隔不小于 0.01 秒。
返回值
SDK 采集的音频数据,详见 AudioParams。
所属接口类FOnPlaybackAudioFrameBeforeMixing
获得混音前的指定用户的声音。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioFrameBeforeMixing, const FString, channelId, int64, uid, const FAudioFrame&, audioFrame);
参数
- channelId
- 频道 ID。
- uid
- 指定用户的用户 ID。
- audioFrame
- 音频原始数据。详见 FAudioFrame。
返回值
无实际含义。
所属接口类FOnPlaybackAudioFrame
获得播放的原始音频数据。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlaybackAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame);
详情
- 方法一:调用 SetPlaybackAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 FOnPlaybackAudioFrame 回调。
- 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 FGetObservedAudioFramePosition 回调的返回值中设置具体的音频观测位置,然后在 FGetPlaybackAudioParams 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 FOnPlaybackAudioFrame 回调。
- 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
参数
- audioFrame
- 音频原始数据。详见 FAudioFrame。
- channelId
- 频道 ID。
返回值
无实际含义。
所属接口类FOnRecordAudioFrame
获得采集的原始音频数据。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRecordAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame);
详情
- 方法一:调用 SetRecordingAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 FOnRecordAudioFrame 回调。
- 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 FGetObservedAudioFramePosition 回调的返回值中设置具体的音频观测位置,然后在 FGetRecordAudioParams 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 FOnRecordAudioFrame 回调。
- 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
参数
- audioFrame
- 音频原始数据。详见 FAudioFrame。
- channelId
- 频道 ID。
返回值
无实际含义。
所属接口类FOnMixedAudioFrame
获取采集和播放音频混音后的数据。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMixedAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame);
详情
- 方法一:调用 SetMixedAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 FOnMixedAudioFrame 回调。
- 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 FGetObservedAudioFramePosition 回调的返回值中设置具体的音频观测位置,然后在 FGetMixedAudioParams 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 FOnMixedAudioFrame 回调。
- 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
参数
- audioFrame
- 音频原始数据。详见 FAudioFrame。
- channelId
- 频道 ID。
返回值
无实际含义。
所属接口类