La captura de audio con getDisplayMedia no funciona con Chrome en mi Macbook, y no se le pide que verifique el audio compartido cuando Chrome le pide al usuario que comparta la pantalla, solo grabó el video con MediaStream. Pero en mi computadora con Windows, era totalmente compatible con el navegador Chrome tanto con captura de video como de audio, y le pedirá al usuario que verifique si desea compartir el audio o no. ¿Puedo preguntar si se debe al problema de soporte o es el problema del código? Estoy usando la última versión de Chrome en macbook A continuación se muestra mi código:
navigator.mediaDevices .getDisplayMedia({ video: true, audio: true }) .then((Mediastream) => { vm.$set(vm, 'isRecording', true); if (vm.isInitiator || vm.isConnector) { if (localStream) { let localAudio = new MediaStream(); localAudio.addTrack(localStream.getAudioTracks()[0]); if (Mediastream.getAudioTracks().length != 0) { let systemAudio = new MediaStream(); systemAudio.addTrack(Mediastream.getAudioTracks()[0]); let audioContext = new AudioContext(); let audioIn_01 = audioContext.createMediaStreamSource(localAudio); let audioIn_02 = audioContext.createMediaStreamSource(systemAudio); let dest = audioContext.createMediaStreamDestination(); audioIn_01.connect(dest); audioIn_02.connect(dest); let finalAudioStream = dest.stream; Mediastream.removeTrack(Mediastream.getAudioTracks()[0]); Mediastream.addTrack(finalAudioStream.getAudioTracks()[0]); } else { Mediastream.addTrack(localStream.getAudioTracks()[0]); } } } this.createRecorder(Mediastream); }) .catch((err) => { this.getUserMediaError(err); });Desafortunadamente, esta es una limitación de Chrome en macOS. Según "caniuse.com",
En Windows y Chrome OS se puede capturar todo el audio del sistema, pero en Linux y macOS solo se puede capturar el audio de una pestaña.
https://caniuse.com/mdn-api_mediadevices_getdisplaymedia_audio_capture_support