Agora-web 怎么判断对方正在说话和停止说话

项目需求在对方说话的时候和停止说话的时候给予不同的状态提示,请问该使用什么方法获取

可以通过 enableAudioVolumeIndicator 方法启用说话者音量提示, 启用该方法后,可以通过回调 "volume-indicator" 获取频道内正在说话的远端用户及其音量,从而判断用户是否在说话。

感谢开发者小哥,这个方法获取的远程流的对象,有获取本地流的同类型的方法吗

没有诶

那如何判断自己是否正在说话

web sdk 没办法判断本地是否有人声,只能通过 getAudioLevel 获取本地音量。

好的谢谢

不客气

web端 startAudioMixing 必须先 publish,那如何在播放背景音乐的时候不发送人声

可以设置 startAudioMixing 方法中的 replace 参数为 true,使音频文件内容替换本地录音的音频流。
请参考:
https://docs.agora.io/cn/Interactive%20Broadcast/API%20Reference/web/interfaces/agorartc.stream.html#startaudiomixing

嗯,这种可以,但是有种场景,先调用了 startAudioMixing 方法, replace 设为 true,然后我又想发布本地录音音频流(就是本地人声,这种情况下想让两种声音并存),然后也有可能手动关掉本地录音音频。有什么办法可以动态改变是否要用音频文件替换本地录音的音频流。或者web端有没有安卓的 adjustRecordingSignalVolume 这个方法,来设置本地录音的音量

目前没有诶,只能调节伴奏音量 adjustAudioMixingVolume

只能先 stopAudioMixing,然后再重新 startAudioMixing了。。注意需要用 getAudioMixingCurrentPosition 获取伴奏播放进度,用 setAudioMixingPosition 设置伴奏音频文件的播放位置。

你好 ,startAudioMixing 播放已经播放过的音乐文件,成功的回调里去推流,如果这个文件是没播放过的,推流成功,但是如果这个音乐文件已经 startAudioMixing 波播放过一次,推流会失败 STREAM_ALREADY_PUBLISHED,(流程大概是:先 unPublish -> stopAudioMixing -> startAudioMixing -> publish),请问这是什么原因?

这个应该是没有 unpublish 成功导致的吧,调用 unpublish 然后再重新调用 publish 再试试看?

建议更换为:先 stopAudioMixing -> unPublish -> publish -> startAudioMixing