Почему виджет изображения AppMaker не принимает снимок камеры, когда HTML элемент изображения будет? - PullRequest
0 голосов
/ 10 января 2020

Этот код работает нормально, если я использую изображение HTML вместо виджета AppMaker 'snapshot'. Делает все, но не помещает изображение в виджет изображения AppMaker, когда используется виджет AppMaker.

//HTML at startup
<video id="stream"top="0" left="0"width="400" height="532"</video>
<canvas id="capture" width="200" height="266" ></canvas>

//Starts the video stream on-click the AppMaker image widget ‘snapshot’
var capture = document.getElementById( "capture" );
var stream =document.getElementById('stream');
var cameraStream = null;
function startStreaming() {
 var mediaSupport = 'mediaDevices' in navigator;
 if( mediaSupport && null == cameraStream ) {
       navigator.mediaDevices.getUserMedia( { video: true } )
       .then( function( mediaStream ) {
           stream.srcObject = mediaStream;
           stream.play();
       })
       .catch( function( err ) {
           console.log( "Unable to access camera: " + err );
       });
   }
   else {
       alert( 'Your browser does not support media devices.' );
       return;
   }
}
startStreaming(); // displays the camera output in the video window

захватывает фотографию видеопотока 'снимок' - это виджет изображения App Maker

//shutter button on-click script
var capture =document.getElementById('capture');
var stream=document.getElementById("stream");

function captureSnapshot() {  
   var ctx = capture.getContext('2d');
   ctx.drawImage( stream, 0, 0, capture.width, capture.height );
   document.getElementById('snapshot').src=capture.toDataURL("image/png" );
{
captureSnapshot;
...