I have also tried to kill the axes that the video is running in (using the axes handle), but I get an error (presumably because movie() is still actively using the axes?)
How can I interrupt a movie based on user input to a GUI
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a GUI that displays video to a user. I want the video to stop playing when the user presses a particular button. Unfortunately, the movie (I am using the movie() command) continues to play until it is done on its own.
How can I interrupt the playback of movie() based on a buttonpress event (i.e. from a user event callback).
BTW, I don't believe Ctrl-C will work, because I don't want the GUI to stop running. I want to terminate the movie running in a particular axes on the GUI, and start another movie in the same axes.
Thanks in advance, Sean
Akzeptierte Antwort
Sean de Wolski
am 15 Jul. 2011
A totally different approach:
Instead of playing the movie with movie; write a function that traverses the frames and displays them using imshow. Start the movie, set the frame rate etc. using a timer and stop the timer to stop the movie. Useful documentation:
doc timer
This obviously will require more work; but can be tuned to give you exactly what you want.
Weitere Antworten (2)
Sean de Wolski
am 15 Jul. 2011
You could kill the axes inside a try/catch block so that the error is not reported and so that nothing bad happens.
Siehe auch
Kategorien
Mehr zu Read, Write, and Modify Image finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!