Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Audio recording was blocked

Hi there. I have a jsPsych-based experiment with a task that involves audio recording. But when I tested the audio recording in JATOS, I got warnings like this and the experiment stopped responding.

jspsych-image-audio-response-chinese.js:228 Uncaught TypeError: Cannot read property 'getUserMedia' of undefined
    at start_recording (jspsych-image-audio-response-chinese.js:228)
    at Object.jsPsych.plugins.image-audio-response.plugin.trial (jspsych-image-audio-response-chinese.js:349)
    at doTrial (jspsych.js:854)
    at nextTrial (jspsych.js:822)
    at Object.window.jsPsych.core.finishTrial (jspsych.js:267)
    at end_trial (jspsych-html-button-response.js:168)
    at after_response (jspsych-html-button-response.js:147)
    at HTMLDivElement.<anonymous> (jspsych-html-button-response.js:116)

I used Chrome to run the experiment, in which my JATOS website is recognized as not secure (see the screenshot below). I assume that the problem might be caused by the fact that Chrome blocked the audio input function for the insecure websites. I was wondering how can I enable audio input or alternatively upgrade the security level of my website? Thanks a lot!


Comments

  • krikri
    edited August 4

    Hi!

    You are correct Chrome does not allow audio recording without encryption (this the reason for the 'not secure' in your Chrome's address bar). More about this in this SO answer: https://stackoverflow.com/a/34198101/1278769. Btw. you can try on cortex.jatos.org if you experiment works there (this server is encrypted).

    In order to get a secure JATOS you have to enable encryption (get a https:// in front of your address). Now the first problem that I see is, that you do not seem to have a domain name and without a domain name you can't get a certificate and a certificate is what you need to enable encryption. Unfortunately this is a little bit outside of the scope of this forum - your question is about how to set up a server in general. Anyway I can give you a couple of hints:

    Best,

    Kristian

    Buy Me A Coffee

  • Hi Kristian,

    Thank you so much for the suggestion!

    I am using the Alibaba ECS server. They do have an very cheap offer of domain names. I will try to install an SSL certificate in my server once I get my domain name confimed. Hopefully everything will work after I upgrade my address to HTTPS

    Best regards,

    Chi

  • edited August 8

    Hi Kristian,

    I have a follow-up question about installing SSL in my server. I did not know what type of server JATOS is running on if neither Apache nor Nginx was installed. I think it is a java-based server but I am not entirely sure. Would you please give me a hint about that? Thank you so much!

    Best,

    Chi

  • Hi Kristian,

    I finally got my experiment on a https domain name. Now I could run my experiment via my domain name (https://tcoding.tech) and the webpage allows voice recording. Thank you so much for the suggestion!

    But whe the experiment was loading there were a few warnings in my console, see below:

    jatos.js:541 WebSocket connection to 'wss://www.tcoding.tech/publix/15/batch/open?srid=110' failed: Error during WebSocket handshake: Unexpected response code: 426
    openBatchChannel @ jatos.js:541
    openBatchChannelWithRetry @ jatos.js:510
    e @ jquery-3.5.1.min.js:2
    t @ jquery-3.5.1.min.js:2
    

    and

    jatos.js:2541 Batch channel error
    callingOnError @ jatos.js:2541
    batchChannel.onerror @ jatos.js:555
    error (async)
    openBatchChannel @ jatos.js:554
    openBatchChannelWithRetry @ jatos.js:510
    e @ jquery-3.5.1.min.js:2
    t @ jquery-3.5.1.min.js:2
    setTimeout (async)
    (anonymous) @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    fire @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    e @ jquery-3.5.1.min.js:2
    t @ jquery-3.5.1.min.js:2
    (anonymous) @ jquery-3.5.1.min.js:2
    e @ jquery-3.5.1.min.js:2
    t @ jquery-3.5.1.min.js:2
    setTimeout (async)
    (anonymous) @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    fire @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    (anonymous) @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    l @ jquery-3.5.1.min.js:2
    (anonymous) @ jquery-3.5.1.min.js:2
    load (async)
    send @ jquery-3.5.1.min.js:2
    ajax @ jquery-3.5.1.min.js:2
    getInitData @ jatos.js:407
    e @ jquery-3.5.1.min.js:2
    t @ jquery-3.5.1.min.js:2
    setTimeout (async)
    (anonymous) @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    fire @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    e @ jquery-3.5.1.min.js:2
    t @ jquery-3.5.1.min.js:2
    setTimeout (async)
    (anonymous) @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    fire @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    (anonymous) @ jquery-3.5.1.min.js:2
    c @ jquery-3.5.1.min.js:2
    fireWith @ jquery-3.5.1.min.js:2
    l @ jquery-3.5.1.min.js:2
    (anonymous) @ jquery-3.5.1.min.js:2
    

    I was wondering in what possible way these errors could influence my experiment? And how should I avoid these problems. Thank you!

    Best regards,

    Chi

  • @chizhang Your posts were captured by the spamfilter, but I verified your account so that won't happen again!

    Buy Me A Coffee

  • edited August 10

    Hi @sebastiaan !

    Thank you so much. And thank you also for the wonderful workshop last week!

    Best regards,

    Chi

  • Hi Chi,

    The error you get originates from JATOS not being able to open a WebSocket for the batch session.

    Do you use a proxy like Apache or Nginx in front of JATOS? You have to configure it to allow WebSockets and forward them to JATOS. Have a look at http://www.jatos.org/JATOS-with-Nginx.html or http://www.jatos.org/JATOS-with-Apache.html, especially where it says 'websocket'.

    Best,

    Kristian

    Buy Me A Coffee

  • Hi Kristian,


    I am using a virtual host in Nginx. So I adapted the .conf file in the directory of www/server/panel/vhost/nginx

    Please find the updated config file in the attachment.

    I made several changes based on the Nginx link. But given I have no knowledge with regard to virtual host in Nginx (or Nginx in general), the changes might be not at all correct. Would you please take a look at it?

    I also tried to change the nginx.conf in the directory /etc/nginx/nginx.conf, but it seemed to mess with the connection with the website. So for now I kept the nginx.conf as it is. I also did not know whether this is correct or not.

    Thank you so much and sorry for the many questions.

    Best,

    Chi


Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games