AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi (DSPACK) DSTrackBar läuft nicht mit bei DVD
Thema durchsuchen
Ansicht
Themen-Optionen

(DSPACK) DSTrackBar läuft nicht mit bei DVD

Ein Thema von Paul0703 · begonnen am 4. Nov 2008 · letzter Beitrag vom 12. Nov 2008
Antwort Antwort
Paul0703

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

(DSPACK) DSTrackBar läuft nicht mit bei DVD

  Alt 4. Nov 2008, 12:17
Wenn ich Dateien zu dem FilterGraph hinzufuege, geht alles. Aber wenn ich eine DVD rendere, dann läuft die DSTrackBar nicht mit.
Woran könnte das liegen?

MfG
Paul
  Mit Zitat antworten Zitat
Benutzerbild von Cylence
Cylence

Registriert seit: 2. Sep 2004
Ort: Allgäu
246 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: (DSPACK) DSTrackBar läuft nicht mit bei DVD

  Alt 12. Nov 2008, 15:54
Hi,

weil die DSTrackbar nicht mit DVD funktioniert...

ich habs so gemacht: DVDSlider ist eine Trackbar

Delphi-Quellcode:

FilterGraph.Play;
    (FilterGraph as IDVDInfo2).GetTotalTitleTime(TotalTime,TimeFlag);
    DVDTitleEndPos := MRMaster.HoursToMiliSec(TotalTime.bHours, TotalTime.bMinutes, TotalTime.bSeconds);
    DVDSlider.Max := DVDTitleEndPos;


//------------------------

procedure TMRDVD.FilterGraphDVDCurrentHMSFTime(sender: TObject;
  HMSFTimeCode: tagDVD_HMSF_TIMECODE; TimeCode: tagDVD_TIMECODE);
var
  TotalTime:TDVDHMSFTimeCode;
  TimeFlag:ULONG;
begin
  (FilterGraph as IDVDInfo2).GetTotalTitleTime(TotalTime,TimeFlag);
  DVDTitleEndPos := MRMaster.HoursToMiliSec(TotalTime.bHours, TotalTime.bMinutes, TotalTime.bSeconds);
  DVDSlider.Max := DVDTitleEndPos;
  with HMSFTimeCode do begin
    Label1.Caption := format('%2.2d:%2.2d:%2.2d',[bHours, bMinutes ,bSeconds]);
    DVDCurrentPos := MRMaster.HoursToMiliSec(HMSFTimeCode.bHours, HMSFTimeCode.bMinutes, HMSFTimeCode.bSeconds);
    if not DVDSliderChanging then DVDSlider.Position := DVDCurrentPos;
   if not ((Playing or Pause) OR RadioRunning) then begin
     if Deskdisplay.Visible AND ((deskdisplay.Label2.Caption = siLang1.GetTextOrDefault('IDS_21(* 'Gestoppt' *) )) OR (deskdisplay.label2.Caption = 'DVD'))
       then Deskdisplay.Runtimelabel.Caption := Label1.Caption;
   end;
  End;
end;

procedure TMRDVD.DVDSliderMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  DVD_SetTrackTime(DVDSlider.Position);
  DVDSliderChanging := False;
end;

procedure TMRDVD.DVD_SetTrackTime(NewValue:integer);
var
 DvdControl2: IDvdControl2;
 DvdCmd: IDvdCmd;
 HMSFTime: TDVDHMSFTimeCode;
begin
  if FilterGraph.Active then
   begin
    if Succeeded(FilterGraph.QueryInterface(IDvdControl2, DvdControl2)) then begin
       DVDSlider.Enabled := false;
       HMSFTime := MRMaster.MiliSecToHours(NewValue);
       DVDCurrentPos := NewValue;
       try
          DvdControl2.PlayAtTimeInTitle(StrToInt(Label4.Caption),HMSFTime,DVD_CMD_FLAG_Flush,DvdCmd);
       except
          OSDLabel.Caption := siLang1.GetTextOrDefault('IDS_318(* 'Kommando nicht möglich' *) );
          ActivateOSD;
       end;
       DvdCmd := nil;
       DVDControl2 := nil;
       DVDSlider.Enabled := true;
     end;
   end;
end;

damit klappts...vielleicht hilft dir das bischen
Tom
Just DO it
  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 05:55 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