audioVolumeIndication property

AudioVolumeCallback audioVolumeIndication
read / write

提示频道内谁正在说话、说话者音量及本地用户是否在说话的回调。

该回调提示频道内瞬时音量最高的几个用户(最多三个)的用户 ID、他们的音量及本地用户是否在说话。

该回调默认禁用。可以通过启用说话者音量提示 RtcEngine.enableAudioVolumeIndication 方法开启; 开启后,无论频道内是否有人说话,都会按方法中设置的时间间隔返回提示音量。

每次触发,用户会收到两个独立的 audioVolumeIndication 回调,其中一个包含本地用户的音量信息,另一个包含远端所有用户的音量信息,详见下方参数描述。

Note

  • 若需使用该回调 speakers 数组中的 vad 参数(即本地人声检测功能),请在 RtcEngine.enableAudioVolumeIndication 方法中设置 report_vadtrue
  • 用户调用 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