我已经使用API Key,Session和Token(针对发布者)为OpenTok设置了一个基本测试页面。基于QuickStart添加了代码以跟踪microphoneLevelChanged事件。页面代码为available here。重要的是:
var apiKey = "API KEY HERE";
var sessionId = "SESSION ID HERE";
var token = "TOKEN HERE";
function sessionConnectedHandler(event) {
session.publish(publisher);
subscribeToStreams(event.streams);
}
function subscribeToStreams(streams) {
for (var i = 0; i < streams.length; i++) {
var stream = streams[i];
if (stream.connection.connectionId != session.connection.connectionId) {
session.subscribe(stream);
}
}
}
function streamCreatedHandler(event) {
subscribeToStreams(event.streams);
TB.log("test log stream created: " + event);
}
var pubProps = { reportMicLevels: true };
var publisher = TB.initPublisher(apiKey, null, pubProps);
var session = TB.initSession(sessionId);
session.publish(publisher);
session.addEventListener("sessionConnected", sessionConnectedHandler);
session.addEventListener("streamCreated", streamCreatedHandler);
session.addEventListener("microphoneLevelChanged", microphoneLevelChangedHandler);
session.connect(apiKey, token);
function microphoneLevelChangedHandler(event) {
TB.log("The microphone level for stream " + event.streamId + " is: " + event.volume);
}
我知道日志记录有效,因为日志显示自streamCreatedHandler
。但是,我没有在microphoneLevelChangedHandler
函数中记录任何事件。我试过这个,一个和两个客户端加载页面(视频显示得很好)。
我需要做些什么才能显示microphoneLevelChanged
个事件?
答案 0 :(得分:2)
OpenTok的WebRTC js库没有microphoneLevelChanged事件,所以你无能为力,抱歉。