[mirotalksfu] - fix multi click

هذا الالتزام موجود في:
Miroslav Pejic
2022-04-16 00:04:45 +02:00
الأصل 401b06e10f
التزام ad7b11dba5
2 ملفات معدلة مع 19 إضافات و0 حذوفات

عرض الملف

@@ -723,20 +723,24 @@ function handleButtons() {
rc.updatePeerInfo(peer_name, rc.peer_id, 'hand', false); rc.updatePeerInfo(peer_name, rc.peer_id, 'hand', false);
}; };
startAudioButton.onclick = () => { startAudioButton.onclick = () => {
setAudioButtonsDisabled(true);
rc.produce(RoomClient.mediaType.audio, microphoneSelect.value); rc.produce(RoomClient.mediaType.audio, microphoneSelect.value);
rc.updatePeerInfo(peer_name, rc.peer_id, 'audio', true); rc.updatePeerInfo(peer_name, rc.peer_id, 'audio', true);
// rc.resumeProducer(RoomClient.mediaType.audio); // rc.resumeProducer(RoomClient.mediaType.audio);
}; };
stopAudioButton.onclick = () => { stopAudioButton.onclick = () => {
setAudioButtonsDisabled(true);
rc.closeProducer(RoomClient.mediaType.audio); rc.closeProducer(RoomClient.mediaType.audio);
rc.updatePeerInfo(peer_name, rc.peer_id, 'audio', false); rc.updatePeerInfo(peer_name, rc.peer_id, 'audio', false);
// rc.pauseProducer(RoomClient.mediaType.audio); // rc.pauseProducer(RoomClient.mediaType.audio);
}; };
startVideoButton.onclick = () => { startVideoButton.onclick = () => {
setVideoButtonsDisabled(true);
rc.produce(RoomClient.mediaType.video, videoSelect.value); rc.produce(RoomClient.mediaType.video, videoSelect.value);
// rc.resumeProducer(RoomClient.mediaType.video); // rc.resumeProducer(RoomClient.mediaType.video);
}; };
stopVideoButton.onclick = () => { stopVideoButton.onclick = () => {
setVideoButtonsDisabled(true);
rc.closeProducer(RoomClient.mediaType.video); rc.closeProducer(RoomClient.mediaType.video);
// rc.pauseProducer(RoomClient.mediaType.video); // rc.pauseProducer(RoomClient.mediaType.video);
}; };
@@ -956,6 +960,7 @@ function handleRoomClientEvents() {
hide(startAudioButton); hide(startAudioButton);
show(stopAudioButton); show(stopAudioButton);
setColor(startAudioButton, 'red'); setColor(startAudioButton, 'red');
setAudioButtonsDisabled(false);
}); });
rc.on(RoomClient.EVENTS.pauseAudio, () => { rc.on(RoomClient.EVENTS.pauseAudio, () => {
console.log('Room Client pause audio'); console.log('Room Client pause audio');
@@ -971,12 +976,14 @@ function handleRoomClientEvents() {
console.log('Room Client stop audio'); console.log('Room Client stop audio');
hide(stopAudioButton); hide(stopAudioButton);
show(startAudioButton); show(startAudioButton);
setAudioButtonsDisabled(false);
}); });
rc.on(RoomClient.EVENTS.startVideo, () => { rc.on(RoomClient.EVENTS.startVideo, () => {
console.log('Room Client start video'); console.log('Room Client start video');
hide(startVideoButton); hide(startVideoButton);
show(stopVideoButton); show(stopVideoButton);
setColor(startVideoButton, 'red'); setColor(startVideoButton, 'red');
setVideoButtonsDisabled(false);
}); });
rc.on(RoomClient.EVENTS.pauseVideo, () => { rc.on(RoomClient.EVENTS.pauseVideo, () => {
console.log('Room Client pause video'); console.log('Room Client pause video');
@@ -992,6 +999,7 @@ function handleRoomClientEvents() {
console.log('Room Client stop video'); console.log('Room Client stop video');
hide(stopVideoButton); hide(stopVideoButton);
show(startVideoButton); show(startVideoButton);
setVideoButtonsDisabled(false);
}); });
rc.on(RoomClient.EVENTS.startScreen, () => { rc.on(RoomClient.EVENTS.startScreen, () => {
console.log('Room Client start screen'); console.log('Room Client start screen');
@@ -1078,6 +1086,16 @@ function showButtons() {
}, 10000); }, 10000);
} }
function setAudioButtonsDisabled(disabled) {
startAudioButton.disabled = disabled;
stopAudioButton.disabled = disabled;
}
function setVideoButtonsDisabled(disabled) {
startVideoButton.disabled = disabled;
stopVideoButton.disabled = disabled;
}
// #################################################### // ####################################################
// UTILITY // UTILITY
// #################################################### // ####################################################

عرض الملف

@@ -545,6 +545,7 @@ class RoomClient {
this.produce(mediaType.audio, microphoneSelect.value); this.produce(mediaType.audio, microphoneSelect.value);
} else { } else {
setColor(startAudioButton, 'red'); setColor(startAudioButton, 'red');
console.log('08 ----> Audio is off');
} }
if (this.isVideoAllowed) { if (this.isVideoAllowed) {
console.log('09 ----> Start video media'); console.log('09 ----> Start video media');