如何获取 opentok 中每个流的麦克风活动

How to get mic activity for each stream in opentok

本文关键字:活动 麦克风 opentok 何获取 获取      更新时间:2023-09-26

我对如何使用OpenTok获取每个流的麦克风活动有问题。我正在使用PHP和OpenTok.js为此。

这是我当前的代码。

    ......
        var subscribers;
        session.on("streamCreated", function(event) {
           var subscriber = session.subscribe(event.stream, 'elementId', {
              insertMode: 'append',
              width: 100%,
              height: 100%
           })
           subscribers[subscriber.id] = subscriber;
           for(var user in subscribers) {
              console.log(subscribers[user].getAudioVolume());
           }
        });
..........

我尝试过这样,但结果总是 100。

谁能解决这个问题?请帮助我。尤

var movingAvg = null;
subscriber.on('audioLevelUpdated', function(event) {
  if (movingAvg === null || movingAvg <= event.audioLevel) {
movingAvg = event.audioLevel;
  } else {
movingAvg = 0.7 * movingAvg + 0.3 * event.audioLevel;
  }
  // 1.5 scaling to map the -30 - 0 dBm range to [0,1]
  var logLevel = (Math.log(movingAvg) / Math.LN10) / 1.5 + 1;
  logLevel = Math.min(Math.max(logLevel, 0), 1);
  document.getElementById('subscriberMeter').value = logLevel;
});