Roderic Day преди 5 години
родител
ревизия
1ccf6bc182
променени са 1 файла, в които са добавени 10 реда и са изтрити 6 реда
  1. +10
    -6
      pico.js

+ 10
- 6
pico.js Целия файл

@@ -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…
Отказ
Запис