stopping video playback beyond Duration (response contingent)?

142 views
Skip to first unread message

David Vinson

unread,
May 23, 2011, 9:21:42 AM5/23/11
to E-Prime
Hello,

I have been wrestling with a MovieDisplay problem and wonder if anyone
on the list has any ideas.

A simplified version of my trial sequence can be described like this:

time 0: MovieDisplay begins
time 600: ImageDisplay begins while movie continues
time 2500: end of typical video (range 2000-3100).
Keypress can occur at any time during or after this sequence.

Feedback on accuracy occurs after the response has been made.

My current design starts with a MovieDisplay: keypress response,
duration/time limit = 600, stop after = no and end action = terminate.

If MovieDisplay.RT > 0 the ImageDisplay is skipped, otherwise it's
displayed with duration = infinite (waits forever for a keyboard
response). I log variables for the ImageDisplay and use inline code to
update the logged variables for MovieDisplay as well.

Then feedback occurs based on MovieDisplay.ACC. The problem is that
often feedback doesn't appear (it's actually being displayed behind the
video which continues until it is finished - video always takes display
priority).

Is there any way to stop the video once a keypress to MovieDisplay or
ImageDisplay is recorded? I've tried various ways to deal with this (eg
setting Durations to 0 and using inline code to keep time) but have not
figured out a way to pull the plug on a video.

I have been able to make the feedback display visible, for example
adding a long Wait object before the feedback, or increasing the
duration of the feedback object, or displaying the feedback off center -
but I'd prefer if participants didn't have to wait until the end of
video clips if they have already made early responses.

any ideas or suggestions would be very helpful!
--
David Vinson, Ph.D.
Senior Postdoctoral Researcher
Cognitive, Perceptual and Brain Sciences Research Department
University College London
26 Bedford Way, London WC1H 0AP
Tel +44 (0)20 7679 5311 (UCL internal ext. 25311)

David Vinson

unread,
May 23, 2011, 10:14:39 AM5/23/11
to e-p...@googlegroups.com
just a quick follow-up to note that some of my timing issues have been
solved - I finally found some posts by David McFarlane that were very
helpful with a design like mine.

Using extended input to collect response data rather than piecing it
together from multiple display objects:
http://groups.google.com/group/e-prime/msg/e30fc88284d85e3c

Using SetNextTargetOnsetTime to schedule upcoming events:
http://groups.google.com/group/e-prime/msg/3f1b16b48a068f14

However i'm still looking for ideas about stopping a video in mid-play
once its Duration has expired.

cheers,
David V

David McFarlane

unread,
May 23, 2011, 3:17:52 PM5/23/11
to e-p...@googlegroups.com
David,

Hmm, glad I helped with some solutions. I don't have time to explore
the movie stopping issue myself just now, so let me just toss out
some ideas for you to try. I would look for a MovieDisplay
equivalent to the the Stop method of the SoundOut class
(SoundOut.Stop) (or more precisely, the SoundBuffer class,
SoundBuffer.Stop). This will take some sleuthing, as PST has yet to
grace us with any documentation for Movies in the E-Basic Help
facility. To that end, I would also submit a request posthaste to
PST Web Support at
http://support.pstnet.com/e%2Dprime/support/login.asp -- this is
after all pretty much their substitute for the documentation that
they should provide in the first place, so don't be shy, PST seems to
prefer to be liberal with their tech support and to document their
stuff only on a "need to know" basis. And then please post back here
with whatever you find.

Thanks,
-- David McFarlane, Professional Faultfinder

David Vinson

unread,
May 27, 2011, 11:49:12 AM5/27/11
to e-p...@googlegroups.com
Here's a follow up to my previous posting as I got a response back from
E-Prime Support. Perpahs it may prove useful to someone else trying to
do complicated things with videos.

Here's a summarized version of the support reply. No surprise that David
M's suggestion was right on track.

A MovieDisplay object does indeed have a Stop method. If "Stop after"
property of the MovieDisplay object is set to "Yes", the Stop method is
automatically called at the end of the object's Duration. If "Stop
after" is set to "No", the movie plays until its end (or the end time
specified in the object properties) or until manually stopped.

To manually stop the movie display, InLine code like Movie1.Stop will
suffice to stop playback of MovieDisplay object named "Movie1".

A small amount of information about MovieDisplay objects can be found
here: http://www.pstnet.com/support/kb.asp?TopicID=2720
But this is still very under-documented; I was also advised to take
advantage of the fact that many characteristics of MovieDisplay objects
are comparable to those of ImageDisplay or SoundOut (and thus can be
figured out by using E-Basic help on these objects).

Ultimately a quick request to E-Prime's online support team may well be
the best way to solve a Movie problem.

cheers,
David V

Reply all
Reply to author
Forward
0 new messages