videos with varying duration: presentation and erasing


Author
Message
rouge
rouge
Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)
Group: Forum Members
Posts: 32, Visits: 73
Dear readers,


at the moment I am writing a program with following features:
1. the subject is presented a string of letters/numbers, which shall be remembered
2. a video is presented that should be evaluated
3. after the video presentation, the string of letters/numbers shall be written down

What I am struggling about is following:
after the video stimuli are played, I want them to to be erased. However, the videos´ durations vary.
Meaning, I can´t just program a timeout.
Additionaly, whileeach video scene is erased after finishing, a question about the video scene shall be shown (I do not want to present the question while the video scene is still presented).
How do I manage to erase the video frame and to present my question simultaneously?

Thank you very much in advance for your help! And best greetings!

This is what I have so far:

<item numberstring>
/1="V98PYXGX"
/2="4XU01AT8"
/3="AVLWVW7W"
/4="VIT4HXW7"

</item>

<item Videos_kein_Tor>
/1="Video_2.mp4"
/2="Video_3.mp4"
</item>

<item Videos_Tor>
/1="Video_55.mp4"
/2="Video_57.mp4"
</item>

<text fixation>
/ items = ("+")
</text>

<text mask>
/ items = ("                   ")
</text>

<text numberstring>
/ items = ("V98PYXGX", "4XU01AT8", "AVLWVW7W", "VIT4HXW7")
</text>

<text Frage_Tor_kein_Tor>
/ items = ("Tor oder kein Tor?")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ valign = bottom
</text>

<text Entscheidung_Manipulation>
/ items = ("Entscheiden Sie sich jetzt!")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ valign = center
</text>

<text Zeichen_Tor>
/ items = ("Tor^^(Taste A)")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ position = (25, 90)
</text>

<text Zeichen_kein_Tor>
/ items = ("Tor^^(Taste L)")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ position = (75, 90)
</text>

<text recalltext>
/ items = ("Bitte schreiben Sie jetzt die zu erinnernde Serie aus Buchstaben und Zahlen in korrekter Reihenfolge auf!")
/ valign = top
</text>

<video Videos_kein_Tor>
/ items = Videos_kein_Tor
/ size = (30%, 30%)
/ playthrough = true
/ valign = center
</video>

<video Videos_Tor>
/ items = Videos_Tor
/ size = (30%, 30%)
/ playthrough = true
/ valign = center
</video>

<trial displaynumberstring>
/ stimulustimes =  [0=fixation; 1000=numberstring]
/ validresponse = (noresponse)
/ trialduration = 5000
</trial>

<trial playvideo_kein_Tor>
/ stimulustimes = [0=fixation; 1000 = Videos_kein_Tor; 1000=Entscheidung_Manipulation; 1000=Zeichen_Tor; 1000=Zeichen_kein_Tor]
/ validresponse = (a, l)
/ correctresponse = (a)
</trial>

<trial playvideo_Tor>
/ stimulustimes = [0=fixation; 1000 = Videos_Tor; 1000=Entscheidung_Manipulation; 1000=Zeichen_Tor; 1000=Zeichen_kein_Tor]]
/ validresponse = (a, l)
/ correctresponse = (l)
</trial>

<trial Entscheidung>
/ stimulustimes = [0=Entscheidung_Manipulation; 0=Zeichen_Tor; 0=Zeichen_kein_Tor]
/ validresponse = (a, l)
</trial>

<openended recallnumberstring>
/ stimulustimes = [0=recalltext]
/ validresponse = (anyresponse)
/ iscorrectresponse = [openended.recallnumberstring.response == text.numberstring.currentitem]
/ position = (50%, 70%)
</openended>

<block myblock>
/ trials = [1,4,7=noreplace(displaynumberstring); 2,5,8=noreplace(playvideo_kein_Tor, playvideo_Tor); 3,6,9=recallnumberstring]
/ preinstructions = (Instruktion_1, Instruktion_2, Instruktion_3)
/ postinstructions = (thank_you)
</block>

<page Instruktion_1>
^^txxx
</page>

<page Instruktion_2>
^^xxx
</page>

<page Instruktion_3>
^^xxx
</page>

<page thank_you>
^^xxx
</page>







Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
You'll have to separate the video-display and follow-up question into separate <trial>s. In a nutshell you do

<video myvideo>
...
/ playthrough = true
</video>

<trial showmyvideo>
/ stimulusframes = [1=myvideo]
/ timeout = 10
/ validresponse = (noresponse)
/ branch = [trial.showquestionaboutmyvideo]
...
</trial>

<trial showquestionaboutmyvideo>
...
</trial>

etc.


rouge
rouge
Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)
Group: Forum Members
Posts: 32, Visits: 73
Dear Dave, thank you very much for your fast answer!

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
Just pointing out the key thing here: Setting /playthrough = true for your <video> elements will force the <trial> to play them to the end *despite* the shorter /timeout. This will accommodate for the videos' varying durations automatically.

rouge
rouge
Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)
Group: Forum Members
Posts: 32, Visits: 73
Dear Dave, in regard to the experiment from above I have a question about the isntruction feature. In my experiment there are 3 instruction pages at the beginning. I programmed the button for "next page" in German. On the third instruction page my adjustments jump back to default with a "next page" button in English. I do not figure out why my program switches to default at that point of time.
It would be great, if you could help me with that! Thanx a lot in advance!


<item numberstring>
/1="V98PYXGX"
/2="4XU01AT8"
/3="AVLWVW7W"
/4="VIT4HXW7"
</item>

<item Videos_kein_Tor>
/1="Video_2.mp4"
/2="Video_3.mp4"
</item>

<item Videos_Tor>
/1="Video_55.mp4"
/2="Video_57.mp4"
</item>

<text fixation>
/ items = ("+")
</text>

<text mask>
/ items = ("                   ")
</text>

<text numberstring>
/ items = ("V98PYXGX", "4XU01AT8", "AVLWVW7W")
</text>

<text Frage_Tor_kein_Tor>
/ items = ("Tor oder kein Tor?")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ valign = bottom
</text>

<text Entscheidung_Manipulation>
/ items = ("Entscheiden Sie sich jetzt!")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ valign = center
</text>

<text Zeichen_Tor>
/ items = ("Tor, Taste A")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ position = (25, 90)
</text>

<text Zeichen_kein_Tor>
/ items = ("Tor, Taste L")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ position = (75, 90)
</text>

<text recalltext>
/ items = ("Bitte schreiben Sie jetzt die zu erinnernde Serie aus Buchstaben und Zahlen in korrekter Reihenfolge auf!")
/ valign = top
</text>

<video Videos_kein_Tor>
/ items = Videos_kein_Tor
/ size = (30%, 30%)
/ playthrough = true
/ valign = center
</video>

<video Videos_Tor>
/ items = Videos_Tor
/ size = (30%, 30%)
/ playthrough = true
/ valign = center
</video>

<trial displaynumberstring>
/ stimulustimes =  [0=fixation; 1000=numberstring]
/ validresponse = (noresponse)
/ trialduration = 5000
</trial>

<trial playvideo_kein_Tor>
/ stimulustimes = [0=fixation; 1000 = Videos_kein_Tor]
/ timeout = 10
/ validresponse = (noresponse)
/ branch = [trial.showquestionaboutmyvideo]
</trial>

<trial playvideo_Tor>
/ stimulustimes = [0=fixation; 1000 = Videos_Tor]
/ timeout = 10
/ validresponse = (noresponse)
/ branch = [trial.showquestionaboutmyvideo]
</trial>

<trial showquestionaboutmyvideo>
/ stimulustimes = [0=Entscheidung_Manipulation; 0=Zeichen_Tor; 0=Zeichen_kein_Tor]
/ validresponse = ("a", "l")
/ correctresponse = ("a", "l")
</trial>

<openended recallnumberstring>
/ stimulustimes = [0=recalltext]
/ validresponse = (anyresponse)
/ iscorrectresponse = [openended.recallnumberstring.response == text.numberstring.currentitem]
/ position = (50%, 70%)
</openended>

<block myblock>
/ trials = [1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46, 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 100, 103, 106, 109, 112, 115, 118, 121, 124, 127, 130, 133, 136, 139, 142=noreplace(displaynumberstring);
2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143=noreplace(playvideo_kein_Tor, playvideo_Tor);
3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144=recallnumberstring]
/ preinstructions = (Instruktion_1, Instruktion_2, Instruktion_3)
/ postinstructions = (thank_you)
</block>

<page Instruktion_1>
^^asgkaöergl
</page>

<page Instruktion_2>
^^asgkaöergl
</page>

<page Instruktion_3>
^^asgkaöergl
</page>

<page thank_you>
^^asgkaöergl
</page>

<instruct>
/ txcolor = (0,0,0)
/ screencolor = (255,255,255)
/ nextkey = (" "€œ)
/ prevkey = (noresponse)
/ nextlabel = "weiter mit Leertaste"
</instruct>

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K
The label for the 'next' button for the *last* page in a set of instruction pages must be set via the <instruct> element's /finishlabel attribute.

rouge
rouge
Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)Distinguished Member (3.4K reputation)
Group: Forum Members
Posts: 32, Visits: 73
Thank you very much Dave! That helped :-) .

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search