Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

35 linhas
931B

  1. const ScreenShareConfig = {
  2. view() {
  3. const checked = ScreenShare.isOn
  4. const onclick = ScreenShare.toggle
  5. return m('label.styled',
  6. m('input[type=checkbox]', {checked, onclick}),
  7. 'screen-share',
  8. )
  9. }
  10. }
  11. const ScreenShare = {
  12. isOn: false,
  13. start() {
  14. const screen = document.querySelector('video.screen')
  15. navigator.mediaDevices.getDisplayMedia()
  16. .then(s => {screen.srcObject = s})
  17. .catch(e => console.error(e))
  18. },
  19. toggle() {
  20. ScreenShare.isOn = !ScreenShare.isOn
  21. // ScreenShare.start()
  22. },
  23. view() {
  24. const style = {
  25. width: '80%',
  26. height: '80%',
  27. }
  28. return m('video.screen[playsinline][autoplay]', {style})
  29. },
  30. }
  31. addEventListener('load', () => {
  32. Headers.push([ScreenShareConfig])
  33. Apps.push([ScreenShare, {key: 'screen-share-container'}])
  34. })