2

我目前正在实现视频通话应用程序,例如使用 Twilio Video 的 Google Hangout。我想在后台显示当时正在讲话的人的视频。

是否可以检测到谁在使用 Twilio Video JS SDK 说话?

4

2 回答 2

4

编辑

Twilio 视频 SDK 现在包括对检测和更新主要说话者的支持。有关完整的详细信息,请参阅文档

原始答案

Twilio 开发人员布道者在这里。

目前 SDK 中没有任何内置功能可以实现这一点。但是,您可以尝试使用 Web Audio API 进行音频分析,以确定最响亮的远程音轨的移动平均值,并使用它来显示当前扬声器。这不是我刚刚尝试过的东西,但我认为尝试一下会很有趣。

于 2018-07-16T05:17:43.437 回答
3

最后,我设法使用getStats()使用 Twilio Video JS SDK 的方法获得了我想要的结果。我将把示例代码放在这里,以便对希望实现相同功能的人有用。

参考:https ://media.twiliocdn.com/sdk/js/video/releases/1.10.0/docs/Room.html

  room.getStats().then(statsReportArray => {
    statsReportArray.forEach(report => {
      let maximumAudioLevel = 0;
      let loudestTrackId = null;

      report.remoteAudioTrackStats.forEach(audioStat => {
        if (audioStat.audioLevel > maximumAudioLevel) {
          maximumAudioLevel = audioStat.audioLevel;
          loudestTrackId = audioStat.trackId;
        }
      });
于 2018-07-25T15:13:54.150 回答