Этот код работает нормально, если я использую изображение 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;