Azzera filtri
Azzera filtri

how to get fixed figure (via actxcontrol) in a gui

3 visualizzazioni (ultimi 30 giorni)
Pollok Tim
Pollok Tim il 25 Giu 2016
Risposto: Pollok Tim il 27 Giu 2016
Hi Community,
I am creating a GUI and I want to place 2 video.avi with fixed position in my interface. After long search I chose actxcontrol for my videos. Actxcontrol places a video into a figure and as I now it is not possible to get this figure in axes whose I created with GUIDE. To place something in axes is the commmon way I know when I have to add a plot, picture,... in my GUI.
Is there any way to have my video fixed in a gui?
This is the main part I use for my video, don't know if you need it.
function PlayVideoFile(filepath)
handles.filepath = filepath;
% Create figure to receive activex
handles.hFigure = figure('position', [50 50 960 560], 'menubar', 'none', 'numbertitle','off','name', ['Video: ' filepath], 'tag', 'VideoPlay', 'resize', 'off');
% Create play/pause and seek to 0 button
handles.hTogglePlayButton = uicontrol(handles.hFigure, 'position', [0 540 80 21], 'string', 'play/pause', 'callback', @TogglePlayPause);
handles.hSeekToZeroButton = uicontrol(handles.hFigure, 'position', [81 540 80 21], 'string', 'begining', 'callback', @SeekToZero);
% Create activex control
handles.vlc = actxcontrol('VideoLAN.VLCPlugin.2', [0 0 960 540], handles.hFigure);
% Format filepath so that VLC can use it (it's what was a problematic for me initialy)
filepath(filepath=='\')='/';
filepath = ['file://localhost/' filepath];
% Add file to playlist
handles.vlc.playlist.add(filepath);
% Deinterlace
handles.vlc.video.deinterlace.enable('x');
% Go back to begining of file
handles.vlc.input.time = 0;
% Register an event to trigger when video is being played regularly
handles.vlc.registerevent({'MediaPlayerTimeChanged', @MediaPlayerTimeChanged});
% Save handles
guidata(handles.hFigure, handles);
Thanks.

Risposte (1)

Pollok Tim
Pollok Tim il 27 Giu 2016
Ok I found a valid answer.
h = actxcontrol('progid',position,fig_handle,event_handler)
for fig_handle I selected gcf to get my GUI to be the figure for actxcontrol. No need for a new figure. Simple answer but only visible for me on the second view.

Categorie

Scopri di più su Interactive Control and Callbacks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by