![]() |
Re: DVD mit DSPack abspielen
Zitat:
Jetzt öffnet sich immer wenn ich eine ifo öffne, ein anderes Fenster, in dem schonmal das Menu angezeigt wird von der DVD,aber es geht nicht weiter. Und es wird halt nicht in dem VideoWindow angezeigt, sondern in dem fenster, was sich ActiveMovie Window nennt. Ich versuche mal eine andere DVD. Damit kann ich nicht viel anfangen :mrgreen: Zitat:
|
Re: DVD mit DSPack abspielen
Ok. Mit einer anderen DVD scheint es zu gehen :)
Aber es wird nur in diesem extra Fenster angezeigt :?: |
Re: DVD mit DSPack abspielen
Jetzt geht es! :-D
Ich musste Mode vom VideoWindow auf vmnormal stellen bei DVD und bei Dateien auf vmVMR! Aber jetzt habe ich noch ein Problem, bei dem ihr mir hoffentlich helfen könnt! Die DVD geht jetzt, aber im Menü kann ich nichts klicken, also nicht Film starten und so. Was muss ich da noch machen, damit das geht? Gruß Paul |
Re: DVD mit DSPack abspielen
schau dir doch die demo vom dspack mal richtig an, denn dort wirst du sowas finden:
Delphi-Quellcode:
ich denke das ist es was du gesucht hast, oder??
procedure TFormDVDPlayer.VideoWindowMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer); var Point : TPoint; DVDControl2 : IDVDControl2; begin if FilterGraph.Active then If Succeeded(FilterGraph.QueryInterface(IID_IDVDControl2, DVDControl2)) then begin Point.x := x; Point.y := y; DVDControl2.SelectAtPosition(Point); DVDControl2 := Nil; end; end; procedure TFormDVDPlayer.VideoWindowMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var Point : TPoint; DVDControl2 : IDVDControl2; begin if FilterGraph.Active then If Succeeded(FilterGraph.QueryInterface(IID_IDVDControl2, DVDControl2)) then begin Point.x := x; Point.y := y; DVDControl2.ActivateAtPosition(Point); DVDControl2 := Nil; end; end; |
Re: DVD mit DSPack abspielen
Voll ins Schwarze getroffen! :mrgreen:
Zitat:
Danke für eure Hilfe!! Paul |
Re: DVD mit DSPack abspielen
Bei den Beispielen wird immer am Schluss geschaut :gruebel:
|
Re: DVD mit DSPack abspielen
Hallo, hab jetzt noch ein Problem :roll:
Das Spulen geht zwar, aber ich kann nicht mehr aufhören. Doch kann ich, aber nur indem ich auf play druecke und dabei folgenden code verwende:
Delphi-Quellcode:
Den code verwende ich zum Spulen:
if FilterGraph1.Active then
with FilterGraph1 as IDvdControl2 do PlayForwards(1.0,DVD_CMD_FLAG_None, DvdCmd);
Delphi-Quellcode:
Wie kann ich das machen, dass er wieder aufhört mit Spulen, wenn ich erneut auf den Button klicke?
if FilterGraph1.Active then
with FilterGraph1 as IDvdControl2 do PlayForwards(8.0,DVD_CMD_FLAG_None, DvdCmd); Ich dachte etwa so:
Delphi-Quellcode:
Oder dass er jedes mal schneller bzw. langsamer spult. Dann wuerde ich einmal auf vorwaerts spulen klicken, dann wuerde er mit 3X spulen und dann klicke ich auf rueckwaerts spulen und dann muesste
with FilterGraph1 as IDvdControl2 do
begin If PlayForwards(8.0,DVD_CMD_FLAG_None, DvdCmd) then PlayForwards(1.0,DVD_CMD_FLAG_None, DvdCmd); end; ja einfach wieder mit 1X laufen. Aber es funzt so nicht:
Delphi-Quellcode:
Er meckert zwar nicht, aber im programm funktioniert es dann nicht :?
if FilterGraph1.Active then
with FilterGraph1 as IDvdControl2 do PlayForwards(+ 2.0,DVD_CMD_FLAG_None, DvdCmd); Ich hoffe, ihr könnt mir mit dem Spulen helfen :wink: Paul |
Re: DVD mit DSPack abspielen
Also erstmal würde ich dich bitten für jede Frage (es sind ja mittlerweile schon 3 hier)ein neues Thema zu eröffnen, damit andere das, falls Sie auch mal danach suchen, das auch per Suche finden können!
Dann: Was soll das??:
Delphi-Quellcode:
with FilterGraph1 as IDvdControl2 do
begin If PlayForwards(8.0,DVD_CMD_FLAG_None, DvdCmd) then PlayForwards(1.0,DVD_CMD_FLAG_None, DvdCmd); end; Das kann ja nicht gehen, denn wenn du dir mal die Funktion ansiehst in der DirectShow9.pas, wirst du feststellen, das der Rückgabewert vom Typ HResult ist, und keine Rückgabe, ob er gerade Vorwärts spult oder nicht! Um die Funktion zum Spulen zu nutzen, mache es ungefähr so:
Delphi-Quellcode:
Das selbe kannst du dann auch mit rückwärtsspulen machen...
procedure TForm1.ForwaertsClick(Sender: TObject);
var DvdCmd : IDvdCmd; DVDControl2: IDVDControl2; begin if FilterGraph1.Active then If Succeeded(FilterGraph.QueryInterface(IID_IDVDControl2, DVDControl2)) then {if Succeeded() kannst du benutzen, um Abzufragen ob die Funktion erfolgreich ausgeführt wurde} DvdControl2.PlayForwards(8.0, DVD_CMD_FLAG_None, DvdCmd); DVDControl2 := Nil; end; {Damit würde er mit 8 Facher geschwindigkeit vorspulen} Um wieder normal abzuspielen, kannst du die geschwindigkeit vom Forwärtsspulen wieder auf 1 setzen, oder du machst wieder ne einfache abfrage und führst Play aus:
Delphi-Quellcode:
und zu dem Thema, wie man herrausfinden kann ob (und ob vorwärts oder rückwärts) gab es auch ne lösung, da müsste ich aber auch erstmal wieder suchen... kann ich mich nicht mehr genau erinnern!!
if FilterGraph.Active then
FilterGraph.Play; PS: Ach ja, das hardcoded, und muss wohl noch angepasst werden... |
Re: DVD mit DSPack abspielen
Danke für deine Antwort :)
Ok, naechstes Mal neues Thema. Ich habe es jetzt so:
Delphi-Quellcode:
Es funktioniert auch, aber ich weiß nicht, wie ich jetzt mit der gleichen Taste das Spulen wieder stoppen kann :wiejetzt:
if FilterGraph1.Active then
begin If Succeeded(FilterGraph1.QueryInterface(IID_IDVDControl2, DVDControl2)) then begin DvdControl2.PlayForwards(8.0, DVD_CMD_FLAG_None, DvdCmd); DVDControl2 := Nil; end; end; |
Re: DVD mit DSPack abspielen
Du könntest es mit ner Globalen Variable machen, zb:
Delphi-Quellcode:
var
IsSearching: Boolean; begin; if FilterGraph1.Active then begin if not IsSearching then begin; If Succeeded(FilterGraph1.QueryInterface(IID_IDVDControl2, DVDControl2)) then begin DvdControl2.PlayForwards(8.0, DVD_CMD_FLAG_None, DvdCmd); DVDControl2 := Nil; end; end else begin; If Succeeded(FilterGraph1.QueryInterface(IID_IDVDControl2, DVDControl2)) then begin DvdControl2.PlayForwards(1.0, DVD_CMD_FLAG_None, DvdCmd); DVDControl2 := Nil; end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz