API キー、セッション、およびトークン (パブリッシャー用) を使用して、OpenTok の基本的なテスト ページをセットアップしました。これは、 microphoneLevelChangedイベントを追跡するためのコードが追加されたQuickStartに基づいています。ページコードはこちらから入手できます。重要な行は次のとおりです。
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
関数に記録されたイベントはありません。ページをロードする 1 つまたは 2 つのクライアントでこれを試しました (ビデオは問題なく表示されます)。
microphoneLevelChanged
イベントを表示するにはどうすればよいですか?