1

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イベントを表示するにはどうすればよいですか?

4

1 に答える 1

2

OpenTok の WebRTC js ライブラリには、microphoneLevelChanged イベントがないため、どうすることもできません。申し訳ありません。

于 2014-03-07T00:16:47.563 に答える