从电子桌面生成实时流URL

时间:2019-10-06 15:17:47

标签: reactjs react-native stream electron

我正在使用电子的desktopCapturer API来显示计算机的实时流(并可以选择通过getSources()方法显示的桌面)。

const { desktopCapturer } = require('electron')

desktopCapturer.getSources({ types: ['window', 'screen'] }).then(async sources => {
  for (const source of sources) {
    if (source.name === 'Electron') {
      try {
        const stream = await navigator.mediaDevices.getUserMedia({
          audio: false,
          video: {
            mandatory: {
              chromeMediaSource: 'desktop',
              chromeMediaSourceId: source.id,
              minWidth: 1280,
              maxWidth: 1280,
              minHeight: 720,
              maxHeight: 720
            }
          }
        })
        handleStream(stream)
      } catch (e) {
        handleError(e)
      }
      return
    }
  }
})

function handleStream (stream) {
  const video = document.querySelector('video')
  video.srcObject = stream
  video.onloadedmetadata = (e) => video.play()
}

function handleError (e) {
  console.log(e)
}

我正在尝试在react-native应用程序上提供流,但是我遇到了一个问题:

我可以通过URL提供desktopCapturer流吗?您是否有更好的方法来实现这一目标?

谢谢!

0 个答案:

没有答案