#1
by
Pipoca
Hi all, I'm trying to develop an app that takes multiple photos per second from the participants during the session, but I'm having issues making my code work. I manage to take a single picture and send it to the server, but not several of them. Here is my frontend code
#2
by
Chris_oTree
I don't see anything in that code that is taking or sending photos? I just see this: function sendValue() { liveSend({"player_took_pic":true}); }
#3
by
Pipoca
That's weird, for some reason, the html that I uploaded looks different to what I coded when downloaded. Let me add the whole code for that HTML here ```html {{ block title }} Facial Capture Page! {{ endblock }} {{ block content }} <!doctype html> <html> <body> <!-- CSS --> <style> #my_camera{ width: 320px; height: 240px; border: 1px solid black; } </style> <p> Welcome! This is an oTree app that can be used for Facial Emotion Recognition experiments. Feel free to download the source code <a href="https://github.com/mgutierrezc/otree_facial_coding/releases/tag/v1.0.0-beta">here</a>. You can contact me by mail in case you have any question regarding it. </p> <h4>Instructions</h4> <ul> <li>Allow the app to use your webcam. </li> <li>Position your face in front of the camera. </li> <li>Click on "Take snapshot"</li> <ul> <li>If you are satisfied with your picture, click on "Next" (scroll down if you don't see it)</li> <li>Else, take a new snapshot. It will automatically replace the previous one. </li> </ul> <li><b>Note: </b>only the photo used for the FER is stored. the other ones are automatically deleted each time you take a new one.</li> </ul> <h4>Facial Capure section</h4> <br> <div id="my_camera"></div> <br> <button class="button">Take snapshots</button> <br><br> <div id="results" ></div> <input type="hidden" name="base_image" id="base_image" /> <br><br> {{ next_button }} <br><br> <p> {{ include C.contact_template }} </p> <!-- Webcam.min.js --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/webcamjs/1.0.26/webcam.min.js"></script> <!-- Configure a few settings and attach camera --> <script language="JavaScript"> Webcam.set({ width: 320, height: 240, image_format: 'jpeg', jpeg_quality: 90 }); Webcam.attach( '#my_camera' ); </script> <!-- A button for taking snaps --> <!-- Code to handle taking the snapshot and displaying it locally --> <script language="JavaScript"> function take_snapshot() { var img = ''; // take snapshot and get image data Webcam.snap( function(data_uri) { // display results in page document.getElementById('results').innerHTML = '<img src="'+data_uri+'"/>'; img = data_uri; } ); return img; } $('.button').click(function() { var imgs = ''; var started = Date.now(); // make it loop every 200 milliseconds var interval = setInterval(function(){ // for 2 seconds if (Date.now() - started > 2000) { // and then pause it clearInterval(interval); } else { // the thing to do every 100ms imgs = imgs + "----" + take_snapshot(); } }, 200); // every 200 milliseconds document.getElementById('base_image').value = imgs; }); </script> </body> </html> {{ endblock }} ```