Play Video in MATLAB GUI with other Objects

6 Ansichten (letzte 30 Tage)
Bill
Bill am 27 Aug. 2011
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

Akzeptierte Antwort

Chaowei Chen
Chaowei Chen am 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 Kommentare
Chaowei Chen
Chaowei Chen am 27 Aug. 2011
save above as a *.m file. Executing it should do your quest.
Bill
Bill am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Chaowei Chen
Chaowei Chen am 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 Kommentare
Bill
Bill am 27 Aug. 2011
This seems to open my webcam. Any way you can provide me with code for importing my own video and playing it?
Bill
Bill am 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?

Melden Sie sich an, um zu kommentieren.


Chaowei Chen
Chaowei Chen am 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 Kommentar
Chaowei Chen
Chaowei Chen am 27 Aug. 2011
This won't put the video window in the GUI. Maybe somebody can help.

Melden Sie sich an, um zu kommentieren.


Sk Sahariyaz Zaman
Sk Sahariyaz Zaman am 28 Apr. 2016

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by