![]() |
DVD Kapitel und Menu einlesen
Hallo Gemeinde,
ich habe mit DSPACK einen einfachen DVD-Player erstellt, nun wäre es sehr vorteilhaft wenn ich die DVD-Struktur-Tiefe (Kapitel und Menu oder nur Kapiteln) herauslesen könnte. Weiß jemand Rat? Danke Gerhard |
Re: DVD Kapitel und Menu einlesen
Meinst Du wie im ChapterXtractor?
![]() Den C++ Source gibt es unter ![]() |
Re: DVD Kapitel und Menu einlesen
Danke Garfield,
für den Hinweis, aber ich suche eine Delphi-Code (c++ ich nicht meines - leider) Gruß Gerhard |
Re: DVD Kapitel und Menu einlesen
Dann könntest Du eventuell nach vStrip sehen. Ist eine DLL in C und eine GUI in Delphi. Leider gibt es die Sourcen nicht mehr bei Maven.
|
Re: DVD Kapitel und Menu einlesen
Ich habe im Doom9.org-Forum einen DVD-Parser für Delphi gefunden. Vielleicht hilft dir das ja ein wenig weiter.
![]() |
Re: DVD Kapitel und Menu einlesen
Der scheint auf vStrip zu basieren. Es sind zwei Downloads jeweils für EXE und Source angegeben, aber nur die erste EXE ist verfügbar. Da müsste man wohl TaZ4hvn anschreiben.
|
Re: DVD Kapitel und Menu einlesen
Hi Delphi
Habe das Orakel befragt und nach längerem Suchen etwas gefunden das auch funktioniert. Anbei habe den von mir verwendeten Teil eingefügt. Wenn es jemand braucht...
Delphi-Quellcode:
Gruß Gerhard
If succeeded(FilterGraph.QueryInterface(IDVDControl2,DVDControl)) then
begin DVDControl.SetOption(DVD_NotifyParentalLevelChange,false); DVDControl.SetOption(DVD_HMSF_TimeCodeEvents,true); DVDControl.QueryInterface(IDVD_Info2,DVDInfo); DVDInfo.GetDVDVolumeInfo(numvolumes,pulvolume,DiskSide,Titlecount) for i:=1 to Titlecount do begin node:=treeView1.items.add(nil,'Titel '+inttostr(i)); DVDInfo.GetNumberOfChapters(i,ChapterPerTitle); forj:=1 to ChapterPerTitle do begin with treeview1.items.AddChild(node,'Chapter '+inttostr(j)) do begin data:=pointer(j); end; end; end end; [edit=r_kerber]Delphi-Tags eingefügt. Beim nächsten bitte selbst machen! Mfg, r_kerber[/edit] |
Re: DVD Kapitel und Menu einlesen
PS:
Leider weiß ich nicht wie man einen Source-Code besser eingibt.... Gerhard |
Re: DVD Kapitel und Menu einlesen
Hi, ich hab das auch mal ausprobiert, aber bei mir kommt nur eine Zugriffsverletzung und mehr tut sich nicht, was mach ich falsch??? Wann genau der Fehler kommt kann ich nich sagen, da in delphi mit debugger kein MPEG 2 abspielen möglich ist...kommt immer debugger detected und sense....
If succeeded(FilterGraph.QueryInterface(IDVDControl2, DVDControl)) then begin DVDControl.SetOption(DVD_NotifyParentalLevelChange ,false); DVDControl.SetOption(DVD_HMSF_TimeCodeEvents,true) ; DVDControl.QueryInterface(IDVDInfo2,DVDInfo2); DVDInfo2.GetDVDTextNumberOfLanguages(AudioNrs); //Anzahl der AudioSprachen ermitteln DVDInfo2.GetDVDVolumeInfo(VolNum, Volume, DiscSide, TitleNum); //Infos zur DVD...Volumes, Titles, DiscSeite.... DVDInfo2.GetCurrentAngle(AnglesAv, SelAngle); //aktuellen Sichtwinkel und verfügbare Sichtwinkel auslesen DVDInfo2.GetCurrentAudio(AudioNrs, SelAudio); //aktuelle Sprache und verfügbare Sprachen einlesen DVDInfo2.GetAudioLanguage(1, SelLanguage); //aktuell gewählte Sprache DVDInfo2.GetSubpictureLanguage(1, SelLanguage); //aktuell gewählter Untertitel DVDInfo2.GetMenuLanguages(Langu, MaxLangu, SelLangu); //Menüsprachen verfügbar, maximal, ausgewählt DVDInfo2.GetDefaultMenuLanguage(SelLangu); //Default Menüsprache DVDInfoform.Memo.Clear; DVDInfoform.Memo.Lines.Add('AudioSpuren : '+PChar(AudioNrs)); DVDInfoform.Memo.Lines.Add('Volume Nr. : '+PChar(VolNum)); DVDInfoform.Memo.Lines.Add('Volume : '+PChar(Volume)); DVDInfoform.Memo.Lines.Add('DiscSide : '+PChar(DiscSide)); DVDInfoform.Memo.Lines.Add('TitleNr : '+PChar(TitleNum)); DVDInfoform.Memo.Lines.Add('AnglesAv : '+PChar(AnglesAv)); DVDInfoform.Memo.Lines.Add('SelAngle : '+PChar(SelAngle)); DVDInfoform.Memo.Lines.Add('SelLanguage : '+PChar(SelLanguage)); DVDInfoform.Memo.Lines.Add('SelMenuLang : '+PChar(SelLangu)); DVDInfoform.Memo.Lines.Add('DefMenuLang : '+PChar(SelLangu)); end; |
Re: DVD Kapitel und Menu einlesen
Ich weiß jetzt wovon Du ausgehst, aber vielleicht bringt Dich das weiter:
DVD SDK - ![]() IFO Parser - ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:34 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