原始音频数据

  • C#

更新时间不可用

RegisterAudioFrameObserver

注册音频观测器对象。

C#
public abstract int RegisterAudioFrameObserver(IAudioFrameObserver audioFrameObserver, AUDIO_FRAME_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR);

该方法用于注册音频观测器对象,即注册回调。当需要 SDK 触发 OnMixedAudioFrame、OnRecordAudioFrame、OnPlaybackAudioFrame、OnPlaybackAudioFrameBeforeMixing 和 OnEarMonitoringAudioFrame 回调时,需要调用该方法注册回调。

调用时机

该方法需要在加入频道前调用。

调用限制

无。

参数

参数名描述
audioFrameObserver

接口对象实例。详见 IAudioFrameObserver。如果传入 NULL,则表示取消注册。建议在收到 OnLeaveChannel 后调用,来释放音频观测器对象。

mode

音频数据回调模式,详见 OBSERVER_MODE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

SetEarMonitoringAudioFrameParameters

设置耳返的音频数据格式。

C#
public abstract int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall);

详情

该方法用于设置 OnEarMonitoringAudioFrame 回调的耳返音频数据格式。

注意:

  • 调用该方法前,你需要先调用 EnableInEarMonitoring,将 includeAudioFilters 设置为 EAR_MONITORING_FILTER_BUILT_IN_AUDIO_FILTERS 或 EAR_MONITORING_FILTER_NOISE_SUPPRESSION。
  • 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

音频帧的使用模式,详见 RAW_AUDIO_FRAME_OP_MODE_TYPE。

samplesPerCall

OnEarMonitoringAudioFrame 中报告的音频的采样点数,如旁路推流应用中通常为 1024。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

SetMixedAudioFrameParameters

设置采集和播放音频混音后的原始音频数据格式。

C#
public abstract int SetMixedAudioFrameParameters(int sampleRate, int channel, 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。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

SetPlaybackAudioFrameBeforeMixingParameters

设置混音前的原始音频播放数据格式。

C#
public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel);

SDK 会根据该采样间隔触发 OnPlaybackAudioFrameBeforeMixing 回调。

调用时机

该方法需要在加入频道前调用。

调用限制

无。

参数

参数名描述
sampleRate

音频数据的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。

channel

音频数据的声道数,可设置为 1 或 2:

  • 1: 单声道。
  • 2: 双声道。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0: 方法调用成功。
  • < 0: 方法调用失败。详见错误码了解详情和解决建议。

所属接口类

SetPlaybackAudioFrameParameters

设置播放的原始音频数据格式。

C#
public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel,
            RAW_AUDIO_FRAME_OP_MODE_TYPE mode, 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

音频帧的使用模式,详见 RAW_AUDIO_FRAME_OP_MODE_TYPE。

samplesPerCall

音频数据的采样点数,如旁路推流应用中通常为 1024。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

SetRecordingAudioFrameParameters

设置采集的原始音频数据格式。

C#
public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, 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

音频帧的使用模式,详见 RAW_AUDIO_FRAME_OP_MODE_TYPE。

samplesPerCall

音频数据的采样点数,如旁路推流应用中通常为 1024。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

UnRegisterAudioFrameObserver

取消注册音频帧观测器。

C#
 public abstract int UnRegisterAudioFrameObserver();

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

OnEarMonitoringAudioFrame

获得耳返的原始音频数据。

C#
public virtual bool OnEarMonitoringAudioFrame(AudioFrame audioFrame)
        {
            return true;
        }

详情

为保证耳返的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置耳返音频数据格式:

  • 方法一:调用 SetEarMonitoringAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 OnEarMonitoringAudioFrame 回调。
  • 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 OnEarMonitoringAudioFrame 回调。

注:

  • 方法一的优先级高于方法二,如果已使用方法一设置了音频数据格式,则使用方法二的设置不生效。

参数

参数名描述
audioFrame

音频原始数据。详见 AudioFrame。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

无实际含义。

OnPlaybackAudioFrameBeforeMixing

获取所订阅的远端用户混音前的声音。

C#
public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id,
                                                        uint uid,
                                                        AudioFrame audio_frame)
        {
            return false;
        }

参数

参数名描述
channel_id

频道 ID。

uid

订阅的远端用户的 ID。

audio_frame

音频原始数据。详见 AudioFrame。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

无实际含义。

OnPlaybackAudioFrame

获得播放的原始音频数据。

C#
public virtual bool OnPlaybackAudioFrame(string channelId, AudioFrame audio_frame)
        {
            return true;
        }

详情

为保证播放的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式:

  • 方法一:调用 SetPlaybackAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 OnPlaybackAudioFrame 回调。
  • 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 OnPlaybackAudioFrame 回调。

注:

  • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。

参数

参数名描述
audio_frame

音频原始数据。详见 AudioFrame。

channelId

频道 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

无实际含义。

OnRecordAudioFrame

获得采集的原始音频数据。

C#
public virtual bool OnRecordAudioFrame(string channelId, AudioFrame audioFrame)
        {
            return true;
        }

详情

为保证采集的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式:

  • 方法一:调用 SetRecordingAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 OnRecordAudioFrame 回调。
  • 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 OnRecordAudioFrame 回调。

注:

  • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。

参数

参数名描述
audioFrame

音频原始数据。详见 AudioFrame。

channelId

频道 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

无实际含义。

OnMixedAudioFrame

获取采集和播放音频混音后的数据。

C#
public virtual bool OnMixedAudioFrame(string channelId, AudioFrame audio_frame)
        {
            return true;
        }

详情

为保证采集和播放混音后的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式:

  • 方法一:调用 SetMixedAudioFrameParameters 设置音频数据格式后,调用 RegisterAudioFrameObserver 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 OnMixedAudioFrame 回调。
  • 方法二:调用 RegisterAudioFrameObserver 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 OnMixedAudioFrame 回调。

注:

  • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。

参数

参数名描述
audio_frame

音频原始数据。详见 AudioFrame。

channelId

频道 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

无实际含义。