![]() |
Ein paar fragen zu DSPack
Hallo Zusammen,
Ich bräuchte bitte mal einen Anstoß: Wie kann ich mittels DSPack herausfinden, wieviele Titel eine DVD hat und wieviele Chapters ein Titel und, wo ich so schön dabei bin, ;-), welcher Titel gerade läuft? Alles andere kriege ich, meine DVD spielt, ;-), nur diese Infos fehlen mir. Ach ja, mittels der Event Funktionen nützt mich nix, weil ich anzeigen möchte "Titel 1 of 5", "Chapter 1 ot xxx". Wo versteckt sich das??? Einen ganz herzlichen Gruß Marco |
Re: Ein paar fragen zu DSPack
Dazu musst du auf ein DirectShow Interface zugreifen!
Suche mal in DirectShow nach dem Interface "IDvdInfo2"! Da kannst du dann alle Funktionen sehen die das Interface unterstützt.. Das Interface dann mit dem Filtergraph von DirectShow verbinden, und dann solltest du Zugriff auf die Funktionen haben! |
Re: Ein paar fragen zu DSPack
Hi Martin,
vielen herzlichen Dank, genau das war's, was mir gefehlt hat. Fehlt mir nur noch der gerade laufende Titel. Kann mir da vielleicht noch jemand auf die Sprünge helfen? Einen herzlichen Gruß Marco |
Re: Ein paar fragen zu DSPack
Zitat:
|
Re: Ein paar fragen zu DSPack
Zitat:
Ich hab mal 'n bißchen durch die DirectShow funktionen geguckt, und, siehe da, mit DVDPlaybackLocation hatte ich genau daß, was ich brauchte. Wenn wer will, kann ich mal das, was es bis jetzt als, sagen wir vereinfachende Klasse, schon gibt, posten. Viele Grüße Marco |
Re: Ein paar fragen zu DSPack
Also ich brauchs zwar nicht :lol:
Aber da ich diese Frage in letzterzeit öfter beantworten durfte, denke ich es ist vllt nicht verkehrt das Ergebnis zu posten, denn einige können damit bestimmt was anfangen... |
AW: Ein paar fragen zu DSPack
Hi,
beim DSPack Filtergraph gibt es die Events onGraphDVDChapterStart und onGraphDVDTitleChange dort kann man das aktuelle Chapter usw rausfinden
Delphi-Quellcode:
procedure TMRDVD.DVDFilterGraphDVDTitleChange(sender: TObject;
title: Integer); begin try Label4.Caption := inttostr(title); except end; end; procedure TMRDVD.DVDFilterGraphDVDChapterStart(sender: TObject; chapter: Integer); var DVDDuration: DVD_HMSF_TIMECODE; FrameRateFlag: ULONG; begin try Label7.Caption := inttostr(chapter); if Succeeded (DVDFilterGraph.QueryInterFace (IDVDInfo2, DVDInfo2)) then begin DVDInfo2.GetTotalTitleTime (DVDDuration, FrameRateFlag); with DVDDuration do begin Label8.Caption := format('%2.2d:%2.2d:%2.2d',[bHours, bMinutes ,bSeconds]); end; end; except end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:38 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