AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi DVD mit DSPack abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

DVD mit DSPack abspielen

Ein Thema von Paul0703 · begonnen am 1. Nov 2008 · letzter Beitrag vom 3. Nov 2008
Antwort Antwort
Seite 2 von 3     12 3      
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#11

Re: DVD mit DSPack abspielen

  Alt 2. Nov 2008, 12:14
Zitat von igel457:
Ist die DVD verschlüsselt? Es kann sein, dass du solche nicht abspielen kannst. Ansonsten solltest du dir überlegen DirectShow irgendwie libdvdcss vorzuspannen. Du musst dann einen eigenen Access Filter schreiben und registrieren.

Es kann auch helfen ffdshow zu installieren.
Ich hatte vergessen, den Mode vom FilterGraph auf gmDVD umzustellen.
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
Zitat:
Ansonsten solltest du dir überlegen DirectShow irgendwie libdvdcss vorzuspannen. Du musst dann einen eigenen Access Filter schreiben und registrieren.
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#12

Re: DVD mit DSPack abspielen

  Alt 2. Nov 2008, 12:18
Ok. Mit einer anderen DVD scheint es zu gehen
Aber es wird nur in diesem extra Fenster angezeigt
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#13

Re: DVD mit DSPack abspielen

  Alt 2. Nov 2008, 12:54
Jetzt geht es!
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
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: DVD mit DSPack abspielen

  Alt 2. Nov 2008, 14:01
schau dir doch die demo vom dspack mal richtig an, denn dort wirst du sowas finden:


Delphi-Quellcode:
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;
ich denke das ist es was du gesucht hast, oder??
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#15

Re: DVD mit DSPack abspielen

  Alt 2. Nov 2008, 14:12
Voll ins Schwarze getroffen!

Zitat:
schau dir doch die demo vom dspack mal richtig an, denn dort wirst du sowas finden:
Da hast du Recht, wer lesen kann ist schwer im Vorteil

Danke für eure Hilfe!!


Paul
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: DVD mit DSPack abspielen

  Alt 2. Nov 2008, 14:17
Bei den Beispielen wird immer am Schluss geschaut
Markus Kinzler
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#17

Re: DVD mit DSPack abspielen

  Alt 3. Nov 2008, 14:41
Hallo, hab jetzt noch ein Problem

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:
if FilterGraph1.Active then
      with FilterGraph1 as IDvdControl2 do PlayForwards(1.0,DVD_CMD_FLAG_None, DvdCmd);
Den code verwende ich zum Spulen:
Delphi-Quellcode:
if FilterGraph1.Active then
      with FilterGraph1 as IDvdControl2 do PlayForwards(8.0,DVD_CMD_FLAG_None, DvdCmd);
Wie kann ich das machen, dass er wieder aufhört mit Spulen, wenn ich erneut auf den Button klicke?
Ich dachte etwa so:
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;
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
ja einfach wieder mit 1X laufen.
Aber es funzt so nicht:
Delphi-Quellcode:
if FilterGraph1.Active then
      with FilterGraph1 as IDvdControl2 do PlayForwards(+ 2.0,DVD_CMD_FLAG_None, DvdCmd);
Er meckert zwar nicht, aber im programm funktioniert es dann nicht

Ich hoffe, ihr könnt mir mit dem Spulen helfen

Paul
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: DVD mit DSPack abspielen

  Alt 3. Nov 2008, 19:14
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:
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}
Das selbe kannst du dann auch mit rückwärtsspulen machen...

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:
  if FilterGraph.Active then
    FilterGraph.Play;
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!!

PS: Ach ja, das hardcoded, und muss wohl noch angepasst werden...
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#19

Re: DVD mit DSPack abspielen

  Alt 3. Nov 2008, 20:25
Danke für deine Antwort
Ok, naechstes Mal neues Thema.
Ich habe es jetzt so:
Delphi-Quellcode:
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;
Es funktioniert auch, aber ich weiß nicht, wie ich jetzt mit der gleichen Taste das Spulen wieder stoppen kann
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#20

Re: DVD mit DSPack abspielen

  Alt 3. Nov 2008, 20:37
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;
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:18 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