Play Video in MATLAB GUI with other Objects

6 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Accedi per commentare.

Più risposte (3)

Chaowei Chen
Chaowei Chen il 27 Ago 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 Commenti
Bill
Bill il 27 Ago 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 il 27 Ago 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?

Accedi per commentare.


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

Accedi per commentare.


Sk Sahariyaz Zaman
Sk Sahariyaz Zaman il 28 Apr 2016

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by