MATLAB Answers

Play Video in MATLAB GUI with other Objects

12 views (last 30 days)
Bill
Bill on 27 Aug 2011
Answered: Sk Sahariyaz Zaman on 28 Apr 2016
Hi, all. I'm starting an experiment where I need to have a video window, as well as a number of text boxes and buttons in a single GUI window. Is this possible? Does anyone have any example code or suggestions on how I might be able to embed the video into the GUI and control it?
Thank you kindly.
Bill

Accepted Answer

Chaowei Chen
Chaowei Chen on 27 Aug 2011
function main(var_3D)
if nargin<1, var_3D=randn(100,100,100);end
[R,C,Frame]=size(var_3D);
h_play=uicontrol('style','pushbutton','callback',@play_var,'string','play');
h_text1=uicontrol('style','edit','string','edit1','position',[200 20 80 20]);
h_text2=uicontrol('style','edit','string','edit2','position',[300 20 80 20]);
function play_var(hObject,events)
for f=1:Frame
imshow(var_3D(:,:,f));
title(['frame ' int2str(f)]);
drawnow;
end
end
end
  2 Comments
Bill
Bill on 27 Aug 2011
Chaowei, will this also play audio from the video files I'll be using? I have .avi files with audio, so I'll need the audio to play along with the video.
Thanks.

Sign in to comment.

More Answers (3)

Chaowei Chen
Chaowei Chen on 27 Aug 2011
function main
vid = videoinput('winvideo', 1);
figure;
h_play=uicontrol('style','pushbutton','callback',@play_vid,'string','play','position',[200 20 80 20]);
h_stop=uicontrol('style','pushbutton','callback',@stop_vid,'string','stop','position',[300 20 80 20]);
h_img=image;
%%
function play_vid(hObject,events), preview(vid,h_img), end
function stop_vid(hObject,events), stoppreview(vid), end
end
  3 Comments
Bill
Bill on 27 Aug 2011
Sorry, I missed your last comment. I should clarify. I don't need to record audio and video from a subject. I already have video files with audio saved and will need to play them depending on the trial the participant is on. Is there a function where I can import one of my .avi files into the workspace and then play it?

Sign in to comment.


Chaowei Chen
Chaowei Chen on 27 Aug 2011
function main
[f,p]=uigetfile('*.avi');cd(p)
h_play=uicontrol('style','pushbutton','callback',@play_vid,'string','play','position',[200 20 80 20]);
function play_vid(hObject,events), winopen(f); end
end
  1 Comment
Chaowei Chen
Chaowei Chen on 27 Aug 2011
This won't put the video window in the GUI. Maybe somebody can help.

Sign in to comment.


Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!