Sfoglia il codice sorgente

Use then/catch

master
Roderic Day 5 anni fa
parent
commit
1ccf6bc182
1 ha cambiato i file con 10 aggiunte e 6 eliminazioni
  1. +10
    -6
      pico.js

+ 10
- 6
pico.js Vedi File

@@ -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

Loading…
Annulla
Salva