WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

activex video-plugin über pushbutton steuern?

 

roobfried

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.11.2007, 17:12     Titel: activex video-plugin über pushbutton steuern?
  Antworten mit Zitat      
hallo, liebe matlab-cracks.
ich versuche, video (mit audio) in einer gui wiederzugeben. die matlab internen methoden funktionieren dafür nicht gut, weil´s hochauflösende clips sind und ich eigentlich nur eine mediaplayerfunktion in der gui haben will.
auf knopfdruck soll ein video geladen werden und auf knopfdruck soll´s abgespielt werden (muss ein gui-pushbutton sein, der einfach nur die start-funktion des plugins auslösen soll). eine weitere steuerung brauch ich nicht, weil damit experimente durchgeführt werden sollen.
nun hab ich die komplette activex-hilfe in matlab durchgekuckt und auch auf den plugin herstellerseiten (quicktime, vlc...) nach tutorials gesucht. die beziehen sich alle auf programmiersprachen, ich will aber eigentlich nur ein bereits bestehendes programm erweitern- meine kenntnisse sind in java oder matlab nicht ausgeprägt genug.
jemand ´ne idee, wie ich das hinbekomme?
einen externen aufruf in vollbildmodus möchte ich umgehen, weil die Upn während der wiedergabe schon bewertungen vornehmen sollen können, und somit z.b. ein slider sichtbar sein muss.
vielen dank für ideen.


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 29.11.2007, 20:21     Titel:
  Antworten mit Zitat      
diese Link sollten weiter helfen:
http://www.mathworks.com/matlabcent.....=3670&objectType=file
http://www.mathworks.com/matlabcent.....=2901&objectType=file

Der Nachteil ist jedoch, dass Du auf diese Weise keine Möglichkeit hast das Video mit irgendwiner Berechnung zu synchronisieren, da es unabhängig von MATLAB abgespielt wird.

Wenn Du mit Videofiles viel arbeitest schaue auch hier hinein
http://www.mathworks.com/matlabcent.....=8028&objectType=file
http://www.mathworks.com/matlabcent.....15881&objectType=file




MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
roobfried

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2007, 19:46     Titel:
  Antworten mit Zitat      
danke.
mmread/write hatte ich auch schon ausprobiert. geht aber letztendlich doch auch über matlab interne speicherung etc.- oder?
ich will eingentlich nur fertige clips darbieten, die als solche dann beurteilt werden sollen.
daher ist keine weitere prozessierung notwendig.
danke für den tip. den einen konnte ich gebrauchen!
vielen dank.
gruss, roob.
 
roobfried

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.12.2007, 19:49     Titel:
  Antworten mit Zitat      
hülfe!
ich verreck´ da drauf!
kann mir jemand sagen, warum das nich funzt-
in der opening-function hab ich des:

% ActivX-Control VLC initialisieren
pos = [0 192 1024 576];
vlc = actxcontrol('VideoLAN.VLCPlugin.1',pos);
assignin('base','vlc',vlc);
handles.vlc = vlc;
vlc = handles.vlc;
% get(vlc)
% events(vlc)
% methodsview(vlc)
% interfaces(vlc)
set(handles.vlc,'AutoPlay',0);
set(handles.vlc,'Volume',100);
set(handles.vlc,'MRL', 'F:\_studium\__DIPLOM\matlab\konkreter\stimuli\r2d2.wmv')

beim callback steht dieses:
% --- Executes on button press in play_pushbutton.
function play_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to play_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
vlc = handles.vlc;
vlc.play;

als basis habe ich die act_ive_gui von der mathworksseite. da steht´s so,
opening-function:

set(gcf,'Color',[0 0 0]);
pos=[0 200 560 300];
MovieControl = actxcontrol('AMOVIE.ActiveMovieControl.2',pos);
assignin('base','MovieControl',MovieControl);
handles.MovieControl = MovieControl;
get(MovieControl)
mp = handles.MovieControl.MediaPlayer;
set(handles.MovieControl.MediaPlayer,'AutoSize',1);
set(handles.MovieControl.MediaPlayer,'ShowAudioControls',0);
set(handles.MovieControl.MediaPlayer,'ShowTracker',0);
set(handles.MovieControl.MediaPlayer,'ShowControls',0);
set(handles.MovieControl.MediaPlayer,'ShowDisplay',0);

callback:
% --- Executes on button press in pla_y.
function pla_y_Callback(hObject, eventdata, handles)
% hObject handle to pla_y (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

mp = handles.MovieControl.MediaPlayer;
set(handles.MovieControl.MediaPlayer,'SendPlayStateChangeEvents',1);
Play(mp);

also mittlerweile bin ich soweit, dass keine fehlermeldungen mehr bei meinem m-file kommen. aber das video wird trotzdem nicht abgespielt.
kann es sein, dass ich die datei mrl-mässig falsch referenziere?
kann man das mit mrl auch relativ machen?
ich bin sowas von ratlos!, leute- helft mir, sonst geht mein diplom kaputt
Shocked

grüsse und danke.
roob.
 
roobfried

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2008, 20:35     Titel: ms_mediaplayer tut jetzt, quicktime allerdings nicht
  Antworten mit Zitat      
hallo nochmal.
ich hab meine kühnsten träume realisiert bekommen (allerdings nur mit ms mediaplayer, obwohl ich gerne quicktime benutzen würde).

mein code dafür sieht so aus:
in der OPENING FUNCTION
% ActiveX-Control MovieControl initialisieren
scal = 16/9; % Anzeige-Ratio Stimuli z.B. 16:9
pos = [0, scrsz(4)-scrsz(3)/scal, scrsz(3), scrsz(3)/scal]; % Position des ActX-Plugins
MovieControl = actxcontrol('QTOControl.QTControl.1',pos); % ActX-Plugin einlesen an Position pos
assignin('base','MovieControl',MovieControl); % Speicherbereich belegen
handles.MovieControl = MovieControl;
mc = handles.MovieControl;
mc.set('AutoPlay', '0'); % AutoPlay abschalten
mc.set('MovieControllerVisible', 0); % MC-UserInterface abschalten
% get(mc) % Überprüfen der Einstellungen
handles.mc = mc; % Werte in handles-Struktur
% ablegen

% erste Audiodatei nach Zufallsprinzip einlesen
mc.set('URL', [ 'file:///F:/_studium/__DIPLOM/matlab/_geht_los_quicktime' '/' handles.stimulifolder '/' char(UserData.stimulus_filename(UserData.permlist(handles.next_counter, 1), 1))] );


im CALLBACK:
% überprüfen, ob Audiodatei bereits abgespielt wurde, wenn ja: weiter
% zu Fehlermeldung. Wenn nein: abspielen
if handles.play_counter == 1
% play_counter inkrementieren
handles.play_counter = handles.play_counter + 1;
% play_counter abspeichern
guidata(hObject, handles);
% Stimulus abspielen und play_pushbutton disablen
set(handles.play_pushbutton, 'enable', 'off');
set(handles.answer_slider, 'enable', 'on');
handles.mc.Movie.Play(); %solldas nich eigentlich StartMovie sein? funktioniert auch nicht

else
% Fehlermeldung ausgeben und auf Schließen des Dialogfensters warten
h_err = my_errordlg('Sie können den aktuellen Stimulus nur einmal abspielen!', 'Hinweis', 'on');
waitfor(h_err);
end


Fehlermeldung is dann immer:

??? No appropriate method or public field startMovie for class
Interface.QTOControl_QTControl_1.Movie.

Error in ==> Experiment_Basis>play_pushbutton_Callback at 272
handles.mc.Movie.startMovie();

jemand ´ne ahnung, warum das nich tut? viele dank für tipps!
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.