Test torch

by Vladimir

HTML

<button>Click</button>
<textarea name="" id="" cols="30" rows="10"></textarea>
<video src=""></video>

CSS

video {
  width: 0px;
  height: 0px;
}

JavaScript

const constraints = {video: true, audio: false};
const $video = document.querySelector('video');
const $torch = document.querySelector('button');
const $textarea = document.querySelector('textarea');

 navigator.mediaDevices.getUserMedia(constraints)
 	.then( stream => {
 		$textarea.value += 'User media...\n';
  	$video.srcObject = stream;
  	$video.onloadedmetadata = () => {
    	$textarea.value += 'Stream loaded...';
      
      const streamTrack = stream.getVideoTracks()[0];
      const capabilities = streamTrack.getCapabilities();
      
      if(capabilities.torch) {
      	$textarea.value += 'Torch supported...';
        $torch.onclick = () => {
        	const torch = (streamTrack.getSettings()).torch;
          streamTrack.applyConstraints({
          	advanced: [{torch: !currentTourch}]
          });
        }
      }
    }
 	}).catch(error => {});