2
사용자가 다른 음성 회의실 (세션)간에 전환 할 수있는 응용 프로그램을 만들고 있습니다. 함수 'connectToSession'(아래 참조)은 사용자가 이미 세션에 있는지 확인하고, 현재 세션과의 연결을 끊은 다음 다른 세션에 연결하여 해당 세션에 스트림을 게시합니다.세션 간 Opentok 전환
음성 객실의 스위칭 잘 작동하고 사용자에게 그러나 때마다 사용자가 세션은 내가 콘솔에서이 오류가 스위치 모두 작동하는 apears입니다: 내이가 보인다 디버깅에서
Publisher State Change Failed: 'Publishing' cannot transition to 'PublishingToSession'
Publisher State Change Failed: 'Publishing' cannot transition to 'Publishing'
을 session.publish가 호출 된 행에서 발생했습니다.
var session = null;
var publisher = null;
var subscribers = {};
function connectToSession(sessionId, token) {
if (session) {
session.disconnect();
}
if (!publisher) {
//First time so we need to initialise publisher
var pubOptions = {
videoSource: null,
name: user_id
};
publisher = OT.initPublisher(null, pubOptions, function() {
//Publisher initialised
});
publisher.on({
'streamDestroyed': function(event) {
event.preventDefault();
}
});
}
session = OT.initSession(apiKey, sessionId);
session.on({
'streamCreated': function(event) {
// Subscribe to others stream
subscribers[event.stream.name] = session.subscribe(event.stream);
},
'sessionConnected': function(sessionConnectEvent) {
// Session Connected
},
'streamDestroyed': function(event) {
//Stream removed from session
delete subscribers[event.stream.name];
}
});
session.connect(token,
function(error) {
if (error) {
console.error(error);
}
else {
session.publish(publisher, function() {
//Finished publishing
}
);
}
});
}
이 오류의 원인은 무엇입니까?
감사합니다. 문서를 업데이트해야 할 수도 있습니다. https://tokbox.com/opentok/libraries/client/js/reference/Session.html#disconnect를 함께 호출해서는 안됩니다. –