diff --git a/openvidu-browser/src/OpenVidu/OpenVidu.ts b/openvidu-browser/src/OpenVidu/OpenVidu.ts index 6d1361c9..c1ae88bc 100644 --- a/openvidu-browser/src/OpenVidu/OpenVidu.ts +++ b/openvidu-browser/src/OpenVidu/OpenVidu.ts @@ -567,7 +567,7 @@ export class OpenVidu { if (navigator.mediaDevices['getDisplayMedia'] && !platform.isElectron()) { // getDisplayMedia supported try { - const mediaStream = await navigator.mediaDevices['getDisplayMedia']({ video: true }); + const mediaStream = await navigator.mediaDevices['getDisplayMedia']({ video: true, audio: options.audioSource === 'screen' }); this.addAlreadyProvidedTracks(myConstraints, mediaStream); if (mustAskForAudioTrackLater) { return await askForAudioStreamOnly(mediaStream, myConstraints.constraints); @@ -1017,7 +1017,7 @@ export class OpenVidu { ) { const audioSource = publisherProperties.audioSource; const videoSource = publisherProperties.videoSource; - if (typeof audioSource === 'string') { + if (typeof audioSource === 'string' && audioSource !== 'screen') { myConstraints.constraints!.audio = { deviceId: { exact: audioSource } }; } diff --git a/openvidu-browser/src/OpenVidu/Publisher.ts b/openvidu-browser/src/OpenVidu/Publisher.ts index f4788ace..4623cf7f 100644 --- a/openvidu-browser/src/OpenVidu/Publisher.ts +++ b/openvidu-browser/src/OpenVidu/Publisher.ts @@ -644,7 +644,7 @@ export class Publisher extends StreamManager { try { if (this.stream.isSendScreen() && navigator.mediaDevices['getDisplayMedia'] && !platform.isElectron()) { - const mediaStream = await navigator.mediaDevices['getDisplayMedia']({ video: true, audio: true }); + const mediaStream = await navigator.mediaDevices['getDisplayMedia']({ video: true, audio: this.properties.audioSource === 'screen' }); this.openvidu.addAlreadyProvidedTracks(myConstraints, mediaStream); await getMediaSuccess(mediaStream, definedAudioConstraint); } else {