我目前正在实施视频通话应用程序,例如使用Twilio Video的Google Hangout。我想在后台显示当时正在讲话的人的视频。
是否可以检测到谁正在使用Twilio Video JS SDK讲话?
答案 0 :(得分:2)
这里是Twilio开发人员的传播者。
SDK当前没有内置任何工具可以实现这一目标。但是,您可以尝试audio analysis using the Web Audio API来确定最响的远程音频轨道的移动平均值,并使用它来显示当前扬声器。这不是我目前尚未尝试过的方法,但是我认为进行试验会很有趣。
答案 1 :(得分:1)
最后,我设法通过Twilio Video JS SDK使用getStats()
方法获得了想要的结果。我将示例代码放在这里,以便对希望实现相同功能的人有用。
参考: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;
}
});