var subscriber;
subscriber = void 0;
getApiAndToken = function() {
initializeSession();
};
initializeSession = function() {
session = OT.initSession(apiKey, sessionId);
session.on('streamCreated', function(event) {
session.subscribe(event.stream, 'layout', {
insertMode: 'append'
});
layout();
});
};
(function() {
var movingAvg;
subscriber.setStyle('audioLevelDisplayMode', 'off');
movingAvg = null;
return subscriber.on('audioLevelUpdated', function(event) {
var logLevel;
if (movingAvg === null || movingAvg <= event.audioLevel) {
movingAvg = event.audioLevel;
} else {
movingAvg = 0.7 * movingAvg + 0.3 * event.audioLevel;
}
logLevel = Math.log(movingAvg) / Math.LN10 / 1.5 + 1;
logLevel = Math.min(Math.max(logLevel, 0), 1);
document.getElementById('subscriberMeter').value = logLevel;
console.log(logLevel);
});
});
嘿,我遇到的问题是我的session.subscribe没有连接到订阅者变量,我可以说这是首选,因为你想用opentok完成更高级的设置。
现在我基本上将创建的流会话添加到一个函数中。现在我想要做的是使会话订阅与订阅者变量相关,我也可以在当前代码中从中获取音频级别。
目前我
Uncaught TypeError: Cannot read property 'setStyle' of undefined
这是预期的,因为我在顶部设置为undefined。
答案 0 :(得分:0)
session.subscribe()
的返回值是Subscriber对象。所以你需要做的就是修改你调用这个方法的行来存储返回值:
subscriber = session.on('streamCreated', function(event) {
session.subscribe(event.stream, 'layout', {
insertMode: 'append'
});
layout();
});