Delphi-PRAXiS

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?

Paul0703 8. Nov 2008 11:27

Re: Problem mit DSPack
 
Juhu, es geht jetzt wenigstens zum Teil :dancer:
Aber ich kann keine dca Dateien öffen, das sind die auf einer CD. Das liegt aber dann bestimmt auch an dem fehlenden Codec :)
Vielleicht habe ich den nicht mit installiert, ist der in diesem Codec Pack dabei?

lbccaleb 8. Nov 2008 11:33

Re: Problem mit DSPack
 
Die dca Dateien auf der CD verlinken nur zu dem Bereich auf der CD wo die Audiodaten für diesen Track zu finden sind!
Um diese zu öffnen, musst du ganz normal ne CD abspielen, und diesen Titel öffnen! Die dca Dateien brauchen also keinen Codec, sondern ein wenig mehr eigeninitiative in Sachen programmierung ;-)

Paul0703 8. Nov 2008 11:38

Re: Problem mit DSPack
 
:wiejetzt:
Wie kann ich das machen eine CD öffnen?
Kannst du mir das bitte erklaeren :wink:
Aber warum kann ich die Audiodateien auf der CD nicht sehen, ein Link muss ja zu einer Datei führen :gruebel:

lbccaleb 8. Nov 2008 11:55

Re: Problem mit DSPack
 
Da gibts hier schon so viel bsp.
Einfach mal suchen ;-)

z.B.:

Hier im Forum suchenCD abspielen

Paul0703 8. Nov 2008 12:04

Re: Problem mit DSPack
 
Was ich gefunden habe, ist immer nicht für das DSPack, sondern mit dem TMediaPlayer oder der Bass.dll oder so :(
Aber ich möchte das ja mit dem DSPack machen ;)

lbccaleb 8. Nov 2008 12:09

Re: Problem mit DSPack
 
mhh, über DSPack kann ich dir das jetzt auch nicht gerade sagen, hab ich selber noch nie gemacht!

Ist vllt praktisch, wenn du mal hier suchst:

Forum

Paul0703 8. Nov 2008 12:24

Re: Problem mit DSPack
 
Ich finde nichts :?
Hab auch schon bei Google geschaut :(

Und so eine Demo ist anscheinend beim DSPack nicht dabei.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 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