Quellcode durchsuchen

Use then/catch

master
Roderic Day vor 5 Jahren
Ursprung
Commit
1ccf6bc182
1 geänderte Dateien mit 10 neuen und 6 gelöschten Zeilen
  1. +10
    -6
      pico.js

+ 10
- 6
pico.js Datei anzeigen

@@ -204,23 +204,27 @@ const Media = {
},
getSelectedMedia: async () => {
const stream = new MediaStream()
const addTrack = stream.addTrack.bind(stream)

const muted = document.querySelector('#mute-check').checked
if(!muted) {
const audio = Media.audioDefaults
const audioStream = await navigator.mediaDevices.getUserMedia({audio})
audioStream.getAudioTracks().forEach(track => stream.addTrack(track))
await navigator.mediaDevices.getUserMedia({audio})
.then(s => s.getAudioTracks().forEach(addTrack))
.catch(e => console.error(e))
}

const source = document.querySelector('#media-source').value
if(source === 'camera') {
const video = {width: {ideal: 320}, facingMode: 'user', frameRate: 26}
const videoStream = await navigator.mediaDevices.getUserMedia({video})
videoStream.getVideoTracks().forEach(track => stream.addTrack(track))
await navigator.mediaDevices.getUserMedia({video})
.then(s => s.getVideoTracks().forEach(addTrack))
.catch(e => console.error(e))
}
if(source === 'screen' && navigator.mediaDevices.getDisplayMedia) {
const videoStream = await navigator.mediaDevices.getDisplayMedia()
videoStream.getVideoTracks().forEach(track => stream.addTrack(track))
await navigator.mediaDevices.getDisplayMedia()
.then(s => s.getVideoTracks().forEach(addTrack))
.catch(e => console.error(e))
}

return stream

Laden…
Abbrechen
Speichern