Play Video in MATLAB GUI with other Objects

7 次查看(过去 30 天)
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

采纳的回答

Chaowei Chen
Chaowei Chen 2011-8-27
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 个评论
Chaowei Chen
Chaowei Chen 2011-8-27
save above as a *.m file. Executing it should do your quest.
Bill
Bill 2011-8-27
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.

请先登录,再进行评论。

更多回答(3 个)

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

请先登录,再进行评论。


Chaowei Chen
Chaowei Chen 2011-8-27
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

Sk Sahariyaz Zaman
Sk Sahariyaz Zaman 2016-4-28

标签

Community Treasure Hunt

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

Start Hunting!

Translated by