how to use button that controls video?

7 views (last 30 days)
hello~may I help you?
this is my code
obj = mmreader('watch.avi');
vid = read(obj);
for frame = 1 : size(vid,4)
% bw = im2bw(vid(:,:,:,frame));
subplot(2,2,1); imshow(vid(:,:,:,frame));
subplot(2,2,2); imshow(vid(:,:,:,frame));
subplot(2,2,3); imshow(vid(:,:,:,frame));
subplot(2,2,4); imshow(vid(:,:,:,frame));
drawnow;
end
I want to use button that can "play"and "stop" and"close"
h4 = uicontrol('Style','PushButton','Units','normalized',...
'String','play','Position',[.05 .05 .1 .1]);
controlling all video.

Accepted Answer

Chandra Kurniawan
Chandra Kurniawan on 21 Feb 2012
function vidplayer()
obj = mmreader('rhinos.avi');
v = read(obj);
hstat = uicontrol('unit','pixel','style','checkbox','value',0,'position',...
[160 10 25 25]);
hplay = uicontrol('unit','pixel','style','pushbutton','string','PLAY',...
'position',[10 10 50 25],'callback',{@play_callback,v});
hstop = uicontrol('unit','pixel','style','pushbutton','string','STOP',...
'position',[60 10 50 25],'callback',@stop_callback);
hexit = uicontrol('unit','pixel','style','pushbutton','string','EXIT',...
'position',[110 10 50 25],'callback',@exit_callback);
function play_callback(hObject,eventdata,vid)
set(hstat,'value',1);
for frame = 1 : size(vid,4)
if get(hstat,'value') == 1,
subplot(2,2,1); imshow(vid(:,:,:,frame));
subplot(2,2,2); imshow(vid(:,:,:,frame));
subplot(2,2,3); imshow(vid(:,:,:,frame));
subplot(2,2,4); imshow(vid(:,:,:,frame));
drawnow;
else, break; end
end
end
function stop_callback(hObject,eventdata)
set(hstat,'value',0);
end
function exit_callback(hObject,eventdata)
stop_callback;
close gcf;
end
end

More Answers (1)

Pan
Pan on 22 Feb 2012
Thank you ^_^

Community Treasure Hunt

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

Start Hunting!