AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Aktuelle Position aus externem Videoplayer auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Aktuelle Position aus externem Videoplayer auslesen

Ein Thema von nezumi7 · begonnen am 13. Mai 2013 · letzter Beitrag vom 28. Aug 2014
Antwort Antwort
nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#1

Aktuelle Position aus externem Videoplayer auslesen

  Alt 13. Mai 2013, 19:59
Liebe Leute,

ich möchte beim Anschauen selbstgedrehter mp4 Dateien eine Schnittliste erstellen.

Dazu müsste mein Programm bei Knopfdruck die aktuelle Position aus dem Videoplayer (am liebsten Media Player Classic, wenns nicht anders geht auch vlc) auslesen, also die aktuelle Zeit, die z.B. beim MPC unten rechts angezeigt wird.

MPC hat eine Kommandozeilensteuerung, aber wohl keinen Befehl, mit dem man die aktuelle Position abfragen kann (jedenfalls ist in der Hilfe kein entsprechender Befehl genannt).

Weiß jemand, ob das trotzdem geht und im Idealfall auch wie?

(Bei Google findet man zwar einen Eintrag, in dem der Befehl Get_CurrentPosition verwendet wird, mir ist aber schleierhaft wie das funktionieren soll).

Bin für jeden Tip dankbar!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Aktuelle Position aus externem Videoplayer auslesen

  Alt 13. Mai 2013, 20:11
Du könntest versuchen, das Unterfenster zu finden, in dem die Position angezeigt wird (wenn die Statusleiste eingeblendet ist). WinSpy. Allerdings hat das Fenster keinen besonderen Namen, deshalb könnte es etwas schwierig werden. Außerdem ist es ziemlich unsauber.

Hast du ein aktuelles Visual Studio mit MFC zur Verfügung (Express reicht nicht)? Dann kannst du dir den Media Player Classic auch aus den Sourcen selbst bauen und deine Funktion reinpatchen. Ich fand den MPC relativ leicht zu kompilieren (nicht so wie viele andere Open-Source-Projekte).
  Mit Zitat antworten Zitat
nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#3

AW: Aktuelle Position aus externem Videoplayer auslesen

  Alt 13. Mai 2013, 20:17
Hi NamenLozer,

danke für die schnelle Antwort. Mit WinSpy hab ichs auch schon versucht, aber aus dem Label kann man nichts auslesen. Den MPC selbst bauen ist mir wohl zu heftig. Bin vom Kenntnisstand her dazu nicht mal ansatzweise in der Lage....

nezumi
  Mit Zitat antworten Zitat
nezumi7

Registriert seit: 11. Apr 2011
71 Beiträge
 
#4

AW: Aktuelle Position aus externem Videoplayer auslesen

  Alt 28. Aug 2014, 12:31
Hallo,

ich krame das Thema nochmal vor.

Im MediaPlayer steht unten rechts die aktuelle Position des Videos (in mm:ss). Die will ich haben. Wenn ich Winspy (oder Eda) nehme, komme ich nicht nur an das Handle, es wird dort dann auch die Position als Fenstertitel angezeigt. Vgl. Bild im Anhang ("00:06"). Also muss es ja möglich sein, die auszulesen.

Habe es so versucht:
Delphi-Quellcode:
function FindWindowEx2(hParent: HWND; ChildClassName: string; ChildNr: Word): HWND;
var
  i: Word;
  hChild: HWND;
begin
  hChild := 0;
  Result := 0;
  ChildNr := ChildNr - 1;
  for i := 0 to ChildNr do
  begin
    hChild := FindWindowEx(hParent, hChild, PChar(ChildClassName), nil);
    if hChild = 0 then
      Exit;
    Result := hChild;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
wnd: hwnd;
lBuffer: String;
lSize : Integer;
begin
wnd := FindWindow('MediaPlayerClassicW', nil);
wnd := FindWindowEx2(wnd,'Static', 2);
// wnd := 00040292;

if wnd <> 0 then begin
form1.Color := clgreen;
SetLength(lBuffer, 255);
lSize := SendMessage(wnd, WM_GETTEXT, Length(lBuffer), Integer(@lBuffer[1]));
Label1.Caption := copy(lBuffer, 1, lSize);
end;
end;

Wenn ich es bei "wnd := FindWindowEx2(wnd,'Static', 2)" belasse, wird kein handle gefunden (Formular wird nicht grün). Wenn ich stattdessen "wnd := 00040292" nehme, wird zwar ein handle gefunden, in Label 1 aber nichts angezeigt.

Was mache ich falsch?

LG, Stephan.
Angehängte Grafiken
Dateityp: jpg EDA Pic.jpg (32,4 KB, 7x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz