설날 잘 보내고 오늘부터 다시 프로젝트 작업을 시작 했습니다!!
저번 중간발표까지 카메라,마이크 비사용자가 게임방에 참가는 되었으나 게임을 시작하면 접속이 끊어지는 오류가 있었는데요! 해당 오류는 try catch 문을 사용하여 간단하게 해결할 수 있었습니다 😊😊
case 'START': {
try {
stream.getAudioTracks().forEach((track) => {
track.enabled = false;
});
} catch (erorr) {
console.log(erorr);
}
setIsStartModal(true);
setCategory(data.content.category);
setKeyword(data.content.keyword);
setMyKeyword('???');
if (myNickName === owner) {
startBtn.current.disabled = true;
leaveBtn.current.disabled = true;
} else {
leaveBtn.current.disabled = true;
}
break;
}
case 'SPOTLIGHT': {
setNotice(data.content);
if (myNickName === data.sender) {
try {
stream.getAudioTracks().forEach((track) => {
track.enabled = true;
});
} catch (e) {
console.log(e);
}
muteBtn.current.style.display = 'block';
setIsVoiceOn(true);
setIsSpotTimer(true);
setIsMyTurn(true);
} else {
try {
stream.getAudioTracks().forEach((track) => {
track.enabled = false;
});
} catch (e) {
console.log(e);
}
setIsVoiceOn(false);
setIsTimer(true);
muteBtn.current.style.display = 'none';
setIsMyTurn(false);
setUsers((users) =>
users.map((user) =>
user.nickName === data.sender
? { ...user, isMyTurn: true }
: { ...user, isMyTurn: false },
),
);
}
break;
}
case 'ENDGAME': {
muteBtn.current.style.display = 'block';
leaveBtn.current.disabled = false;
setNotice('');
setCategory('');
setKeyword('');
setMyKeyword('');
try {
stream.getAudioTracks().forEach((track) => {
track.enabled = true;
});
} catch (e) {
console.log(e);
}
setIsVoiceOn(true);
setUsers((users) =>
users.map((user) => {
return { ...user, isMyTurn: false };
}),
);
setIsMyTurn(false);
if (myNickName === owner) {
startBtn.current.disabled = false;
}
break;
}