音频频谱
disableAudioSpectrumMonitor
禁用音频频谱监测。
C++
virtual int disableAudioSpectrumMonitor() = 0;
调用 enableAudioSpectrumMonitor 后,如需关闭音频频谱监测,可调用该方法。
信息
你可以在加入频道前或加入频道后调用此方法。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
enableAudioSpectrumMonitor
开启音频频谱监测。
C++
virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
信息
enableAudioSpectrumMonitor 方法可以在加入频道前或加入频道后调用。
适用场景
你可以在加入频道前或加入频道后调用此方法。
参数
- intervalInMS
- SDK 触发 onLocalAudioSpectrum 和 onRemoteAudioSpectrum 回调的时间间隔,单位为毫秒(默认值为 100,默认)。该参数值不能小于 10,否则调用该方法会失败。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
- -2:参数无效。
registerAudioSpectrumObserver
注册音频频谱观察器。
C++
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
成功注册音频频谱观察器并调用 enableAudioSpectrumMonitor 启用音频频谱监测后,SDK 会根据你设置的时间间隔,触发你在 IAudioSpectrumObserver 中实现的回调。
信息
你可以在加入频道前或加入频道后调用此方法。
参数
- observer
- 音频频谱观察器。详见 IAudioSpectrumObserver。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
unregisterAudioSpectrumObserver
取消注册音频频谱观察器。
C++
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
调用 registerAudioSpectrumObserver 后,如果你想关闭音频频谱监测,可以调用此方法。
信息
你可以在加入频道前或加入频道后调用此方法。
参数
- observer
- 音频频谱观察器。详见 IAudioSpectrumObserver。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onLocalAudioSpectrum
本地音频频谱数据回调。
C++
virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
调用 registerAudioSpectrumObserver 注册 IAudioSpectrumObserver 接口并实现 onLocalAudioSpectrum 回调,同时调用 enableAudioSpectrumMonitor 启用音频频谱监测后,SDK 会按照设置的时间间隔,在编码前触发该回调,报告本地音频频谱数据。
参数
- data
- 本地用户的音频频谱数据。详见 AudioSpectrumData。
返回值
- true:接收到频谱数据。
- false:未接收到频谱数据。
onRemoteAudioSpectrum
远端音频频谱回调。
C++
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo* spectrums, unsigned int spectrumNumber) = 0;
成功调用 registerAudioSpectrumObserver 实现 onRemoteAudioSpectrum 回调,并调用 enableAudioSpectrumMonitor 启用音频频谱监测后,SDK 会按照你设置的时间间隔触发该回调,报告接收到的远端音频数据频谱。
触发时机
SDK 会按照你设置的时间间隔触发该回调,报告接收到的远端音频数据频谱。
参数
- spectrums
- 远端用户的音频频谱信息。数组长度为 SDK 监测到的远端用户数量。如果该数组为 NULL,表示未检测到远端用户的音频频谱。详见 UserAudioSpectrumInfo。
- spectrumNumber
- 远端用户的数量。
返回值
- true:接收到频谱数据。
- false:未接收到频谱数据。