音频频谱
registerAudioSpectrumObserver
注册音频频谱观测器。
virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
详情
成功注册音频频谱观测器并调用 enableAudioSpectrumMonitor 开启音频频谱监测后,SDK 会按照你设置的时间间隔报告你在 IAudioSpectrumObserver 类中实现的回调。
参数
- observer
音频频谱观测器。详见 IAudioSpectrumObserver。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
unregisterAudioSpectrumObserver
取消注册音频频谱观测器。
virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0;
详情
调用 registerAudioSpectrumObserver 后,如果你想取消注册音频频谱观测器,请调用该方法。
参数
- observer
- 音频频谱观测器。详见 IAudioSpectrumObserver。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
disableAudioSpectrumMonitor
关闭音频频谱监测。
virtual int disableAudioSpectrumMonitor() = 0;
详情
调用 enableAudioSpectrumMonitor 后,如果你想关闭音频频谱监测,请调用该方法。
该方法在加入频道前后均可调用。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
enableAudioSpectrumMonitor
开启音频频谱监测。
virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0;
详情
如果你想获取本地或远端用户的音频频谱数据,请注册音频频谱观测器并开启音频频谱监测。
该方法在加入频道前后均可调用。
参数
- intervalInMS
SDK 触发 onLocalAudioSpectrum 和 onRemoteAudioSpectrum 回调的时间间隔(毫秒)。 默认值为 100 毫秒。取值不得少于 10 毫秒,否则该方法会调用失败。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。详见错误码了解详情和解决建议。
- -2: 参数设置错误。
onLocalAudioSpectrum
获取本地音频频谱。
virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0;
详情
成功调用 registerAudioSpectrumObserver 实现 IAudioSpectrumObserver 中的 onLocalAudioSpectrum 回调并调用 enableAudioSpectrumMonitor 开启音频频谱监测后,SDK 会按照你设置的时间间隔触发该回调,报告编码前的本地音频数据的频谱。
参数
- data
- 本地用户的音频频谱数据。详见 AudioSpectrumData。
返回值
true
: 接收。false
: 不接收。
onRemoteAudioSpectrum
获取远端音频频谱。
virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0;
详情
成功调用 registerAudioSpectrumObserver 实现 IAudioSpectrumObserver 中的 onRemoteAudioSpectrum 回调并调用 enableAudioSpectrumMonitor 开启音频频谱监测后,SDK 会按照你设置的时间间隔触发该回调,报告接收到的远端音频数据的频谱。
参数
- spectrums
- 远端用户的音频频谱信息,详见 UserAudioSpectrumInfo。 数组数量等于 SDK 监测到的远端用户数量,数组为空表示没有监测到远端用户的音频频谱。
- spectrumNumber
- 远端用户的数量。
返回值
true
: 接收。false
: 不接收。