Editing the link in InitiateRecorder()

PennController for IBEX Forums Support Editing the link in InitiateRecorder()

This topic contains 4 replies, has 3 voices, and was last updated by Jeremy Jeremy 2 weeks, 6 days ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #6235
    Avatar
    masato
    Participant

    Hello!

    I am planning to run a production experiment in Japanese and want all the consent form and instructions to be presented in Japanese. I know that I can change the message in InitiateRecorder(), but I am wondering if I can do the same thing for the link to ask for the permission to record speech. By default it says “By clicking this link I understand that I grant this experiment’s script access to my recording device for the purpose of uploading recordings to the server designated by the experimenter(s).”, but is there any way for me to replace this with an equivalent Japanese message?

    #6236
    Jeremy
    Jeremy
    Keymaster

    Hello,

    You can use the trick described in this message (second point)

    Jeremy

    #6239
    Avatar
    masato
    Participant

    My bad! I thought I went through all the relevant posts but it seems that I didn’t do it well. Thank you so much for helping me out!

    Masato

    #6312
    Avatar
    mg5171
    Participant

    Hi,
    I’m having a similar issue as question 1 here. No matter how much I try to use .wait commands and test conditions, the continue button appears and is clickable before the recording has finished from the preceding trial. Any idea on what’s going on here?

    
    Template(  
        variable => 
        
    newTrial(
        newText('instructions', 'Please record the following words:')
            .print()
        ,
        newText('word', variable.text)  //show people all the words in text column
            .print()
        ,
        newVoiceRecorder("recorder") 
            .log()
            .record()
            .print()
            .wait()
        ,
        newButton("continue", "Click here to continue.")  
            .print()
            .wait(getVoiceRecorder("recorder").test.recorded())
        
    ));
    
    #6315
    Jeremy
    Jeremy
    Keymaster

    Hi,

    Your code works just fine when I test it. I’m using the most recent version of PennController (1.8) in which VoiceRecorder is deprecated in favor of MediaRecorder, but your code is still retro-compatible.

    The only problem I have is that the “Record” button should be reading “Stop” instead, because you start recording before printing the interface. The continue button only appears after I click “Record” (which, again, should read “Stop”) and if I click the continue button, then it proceeds to the next trial, because I’m done recording: I clicked Stop, even though it misleadingly read “Record.”

    Here’s what you can do to fix the text of the “Record/Stop” button:

    newVoiceRecorder("recorder") 
        .log()
        .print()
        .record()
    ,
    newFunction( 
        ()=>$(".PennController-MediaRecorder-record").html("Stop") 
    ).call()
    ,
    getVoiceRecorder("recorder").wait()

    Let me know if you have questions

    Jeremy

Viewing 5 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic.