AudioVolumeCallback audioVolumeIndication
read / write
提示频道内谁正在说话、说话者音量及本地用户是否在说话的回调。
该回调提示频道内瞬时音量最高的几个用户(最多三个)的用户 ID、他们的音量及本地用户是否在说话。
该回调默认禁用。可以通过启用说话者音量提示 RtcEngine.enableAudioVolumeIndication 方法开启; 开启后,无论频道内是否有人说话,都会按方法中设置的时间间隔返回提示音量。
每次触发,用户会收到两个独立的 audioVolumeIndication
回调,其中一个包含本地用户的音量信息,另一个包含远端所有用户的音量信息,详见下方参数描述。
Note
-
若需使用该回调
speakers
数组中的vad
参数(即本地人声检测功能),请在 RtcEngine.enableAudioVolumeIndication 方法中设置report_vad
为true
。 -
用户调用RtcEngine.muteLocalAudioStream
方法会对 SDK 行为产生影响:
- 本地用户调用该方法后 SDK 即不再返回本地用户的音量提示回调。
- 远端用户调用该方法后 20 秒,远端说话者的音量提示回调将不再包含该用户;如果所有远端用户调用该方法后 20 秒, SDK 即不再返回远端说话者的音量提示回调。
AudioVolumeCallback
包含如下参数:
- List<AudioVolumeInfo>
speakers
:每个说话者的用户 ID 和音量信息的数组。- 在本地用户的回调中,此数组中包含以下成员:
uid
= 0;volume
等于totalVolume
,报告本地用户混音后的音量;vad
,报告本地用户人声状态。
- 在远端用户的回调中,此数组中包含以下成员:
uid
,表示每位说话者的用户 ID;volume
,表示各说话者混音后的音量;vad
= 0,人声检测对远端用户无效。
- 在本地用户的回调中,此数组中包含以下成员:
如果报告的 speakers
数组为空,则表示远端此时没有人说话。
-
int
totalVolume
:(混音后的)总音量(0~255)。
- 在本地用户的回调中,
totalVolume
为本地用户混音后的音量。 - 在远端用户的回调中,
totalVolume
为所有说话者混音后的总音量。
- 在本地用户的回调中,
Implementation
AudioVolumeCallback audioVolumeIndication