Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit DSPack (https://www.delphipraxis.net/123608-problem-mit-dspack.html)

Paul0703 5. Nov 2008 11:19


Problem mit DSPack
 
Hallo,
ich habe ein komisches problem mit dem DSPack. ich schreibe gerade einen kleinen MediaPlayer mithilfe des DSPacks.
Jetzt habe ich festgestellt, dass das Programm zwar auf meinem eigenen PC läuft, aber nicht auf anderen PCs, zumindest nicht, wo ich es getestet habe :(
Wenn ich eine DVD oder eine CD rendere, kommt bei CD folgender Fehler: "Name oder Objekt nicht gefunden" und bei DVD "Ungültige Gleitkommaoperation".
Und jetzt habe ich mein Projekt mal auf einem Rechner kompiliert, wo es nicht geht.

Der Fehler kommt irgendwo in diesem Abschnitt, ich habe es mit BreakPoint versucht, finde aber nicht die genaue Stelle.
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
var i: Integer;
    Status : TAMDVDRenderStatus;
    F: Integer;
    sr: TSearchRec;
    FileName: String;
begin
{DVD}
  If FileExists(ExtractFileDrive(DriveComboBox1.Items.Strings[DriveComboBox1.ItemIndex]) + '/' + 'VIDEO_TS' + '/' + 'VIDEO_TS.IFO') then
  begin
    Form1.ListBox1.Enabled := False;
    Form1.OpenDialog1.Filter := 'VIDEO_TS.IFO|VIDEO_TS.IFO';
    Form1.ListBox1.Items.Add(ExtractFileDrive(DriveComboBox1.Items.Strings[DriveComboBox1.ItemIndex]) + '/' + 'VIDEO_TS' + '/' + 'VIDEO_TS.IFO');
    If not Form1.FilterGraph1.Active = True then Form1.FilterGraph1.Active := True;
    Form1.FilterGraph1.Mode := gmDVD;
    Form1.VideoWindow1.Mode := vmNormal;
    Form1.FilterGraph1.ClearGraph;
    Form1.FilterGraph1.RenderDVD(Status, Form1.ListBox1.Items.Strings[0]);
    Form1.FilterGraph1.Volume := Form1.TrackBar1.Position * 1000;
    Form1.FilterGraph1.Play;
    Form5.Close;
  end;
{CD}
  If not FileExists(ExtractFileDrive(DriveComboBox1.Items.Strings[DriveComboBox1.ItemIndex]) + '/' + 'VIDEO_TS' + '/' + 'VIDEO_TS.IFO') then
  begin
     Form1.ListBox1.Enabled := True;
     Screen.Cursor := crHourGlass;
     F := FindFirst(ExtractFileDrive(DriveComboBox1.Items.Strings[DriveComboBox1.ItemIndex]) + '/' + '*.*', (faAnyFile and not faDirectory), sr);
     while F = 0 do
     begin
       if (sr.Attr and faDirectory) = 0 then
       begin
        FileName := sr.Name;
        FileName := StringReplace(FileName, ExtractFileExt(FileName), '', []);
        Form1.ListBox1.Items.Add(FileName);
       end;
       F := FindNext(sr);
     end;
     FindClose(sr);
     Screen.Cursor := crDefault;

    Form1.OpenDialog1.FileName := FileName;
    for I := 0 to Form1.OpenDialog1.Files.Count - 1 do
    begin
      Form1.ListBox1.Items.Add(Form1.OpenDialog1.Files[i]);
    end;
    If not Form1.FilterGraph1.Active = True then Form1.FilterGraph1.Active := True;
    Form1.FilterGraph1.Mode := gmNormal;
    Form1.VideoWindow1.Mode := vmVMR;
    Form1.FilterGraph1.ClearGraph;
    Form1.FilterGraph1.RenderFile(Form1.OpenDialog1.FileName);
    Form1.FilterGraph1.Volume := Form1.TrackBar1.Position * 1000;
    Form1.FilterGraph1.Play;
    Form5.Close;
  end;
end;
Und wenn der Fehler kommt, steht der Compiler an folgender Stelle in der DSUtil.pas
Delphi-Quellcode:
function CheckDSError(HR: HRESULT): HRESULT;
  var Excep: EDirectShowException;
  begin
    Result := HR;
    if Failed(HR) then
    begin
      Excep := EDirectShowException.Create(format(GetErrorString(HR)+' ($%x).',[HR]));
      Excep.ErrorCode := HR;
      raise Excep;
    end;
  end;
Ich hoffe, ihr könnt mir helfen!

Paul

lbccaleb 5. Nov 2008 17:59

Re: Problem mit DSPack
 
Gleiche, oder neuere DirectX Version auf dem anderen Rechner??

Paul0703 5. Nov 2008 18:29

Re: Problem mit DSPack
 
Genau die gleiche Version: DirectX 9.0 c
Ich habe mal ein paar Sachen verändert. Jetzt kommt nur noch eine Fehlermeldung mit den Filtern:
Er sagt, dass die Filteranschlüsse nicht verbunden sind :?

Aber bei mir geht es immernoch!

lbccaleb 5. Nov 2008 19:11

Re: Problem mit DSPack
 
Das liegt daran, das auf dem anderen rechner entweder nicht die passenden codecs drauf sind, oder du zu diesen die verbindung einzeln zum dekodieren herstellen musst....

Paul0703 5. Nov 2008 19:26

Re: Problem mit DSPack
 
Woher weiß ich, welche Codecs ich da brauche?
DVD ist ja MPEG2, oder?
Und wie kann ich die Verbindung zum Decodieren herstellen?


Danke für deine Hilfe!

EDIT: Gibt es eine Möglichkeit, alle Codecs auf den anderen PC zu übertragen?

Paul0703 7. Nov 2008 19:59

Re: Problem mit DSPack
 
Hat noch jemand eine Idee, wie ich das mit den Codecs lösen kann :?:

lbccaleb 7. Nov 2008 20:34

Re: Problem mit DSPack
 
um codecs auf dem anderen rechner zu installieren, kannst du nach sogenannten codec-packs suchen...

ich kann das empfehlen: CCCP


die codecs selber zu laden, ist nicht gerade einfach, am besten du suchst mal ne anleitung im forum vom ds-pack...

Paul0703 7. Nov 2008 21:03

Re: Problem mit DSPack
 
Da steht, die empfehlen, vorher alle codecs zu deinstallieren. Muss ich aber nicht machen, oder?

Ich hoffe, da sind alle wichtigen Codecs enthalten, die ich brauche :wink:

lbccaleb 7. Nov 2008 21:13

Re: Problem mit DSPack
 
ja das sind sie wohl ;-)

Paul0703 7. Nov 2008 21:33

Re: Problem mit DSPack
 
Danke!
Ich werde es dann morgen mal testen.
Wie macht das denn zum Beispiel der VLC Media Player, liefert der die Codecs selber mit oder wie geht das?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.
Seite 1 von 2  1 2      

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