android, desktop: fix Safari sound

This commit is contained in:
Avently
2024-09-27 06:05:05 -07:00
parent f048ddb922
commit 80a866d472
2 changed files with 8 additions and 2 deletions

View File

@@ -530,10 +530,10 @@ const processCommand = (function () {
if (!videos)
throw Error("no video elements");
await setupEncryptionWorker(call);
setupRemoteStream(call);
videos.localScreen.srcObject = call.localScreenStream;
videos.remote.srcObject = call.remoteStream;
videos.remoteScreen.srcObject = call.remoteScreenStream;
setupRemoteStream(call);
// videos.localScreen.play()
// For example, exception can be: NotAllowedError: play() failed because the user didn't interact with the document first
videos.remote.play().catch((e) => console.log(e));
@@ -661,11 +661,14 @@ const processCommand = (function () {
}
setupMuteUnmuteListener(event.transceiver, track);
const mediaSource = mediaSourceFromTransceiverMid(event.transceiver.mid);
const videos = getVideoElements();
if (mediaSource == CallMediaSource.ScreenAudio || mediaSource == CallMediaSource.ScreenVideo) {
call.remoteScreenStream.addTrack(track);
videos === null || videos === void 0 ? void 0 : videos.remoteScreen.play().catch((e) => console.log(e));
}
else {
call.remoteStream.addTrack(track);
videos === null || videos === void 0 ? void 0 : videos.remote.play().catch((e) => console.log(e));
}
console.log(`ontrack success`);
}

View File

@@ -775,11 +775,11 @@ const processCommand = (function () {
const videos = getVideoElements()
if (!videos) throw Error("no video elements")
await setupEncryptionWorker(call)
setupRemoteStream(call)
videos.localScreen.srcObject = call.localScreenStream
videos.remote.srcObject = call.remoteStream
videos.remoteScreen.srcObject = call.remoteScreenStream
setupRemoteStream(call)
// videos.localScreen.play()
// For example, exception can be: NotAllowedError: play() failed because the user didn't interact with the document first
videos.remote.play().catch((e) => console.log(e))
@@ -927,10 +927,13 @@ const processCommand = (function () {
setupMuteUnmuteListener(event.transceiver, track)
const mediaSource = mediaSourceFromTransceiverMid(event.transceiver.mid)
const videos = getVideoElements()
if (mediaSource == CallMediaSource.ScreenAudio || mediaSource == CallMediaSource.ScreenVideo) {
call.remoteScreenStream.addTrack(track)
videos?.remoteScreen.play().catch((e) => console.log(e))
} else {
call.remoteStream.addTrack(track)
videos?.remote.play().catch((e) => console.log(e))
}
console.log(`ontrack success`)
} catch (e) {