Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi wma-dateien mit bass.dll abspielen (https://www.delphipraxis.net/87160-wma-dateien-mit-bass-dll-abspielen.html)

blablab 24. Feb 2007 09:21


wma-dateien mit bass.dll abspielen
 
Hallo!

Ich weiß, die Frage wurde schonmal gestellt und die antwort hieß:
einfach die basswma.dll mit BASS_PluginLoad laden und dann kann die bass.dll auch wmas abspielen.
Aber anscheinend bin ich einfach zu blöd und ich kriegs net hin!
Ich initialisier die bass.dll, dann mach ich BASS_PluginLoad('basswma.dll', 0) aber wmas abspielen kann ich trotzdem net...

Kann mir da vielleicht jemand auf die Sprünge helfen?

Danke im Voraus!
Simon

Prototypjack 24. Feb 2007 09:47

Re: wma-dateien mit bass.dll abspielen
 
Moin!

Die Funktion BASS_LOADPLUGIN gibt dir einen Code zurück, mit diesem kannst du dann zusammen mit der Hilfe ein Fehlschlagen des Dll-Ladeprozesses ausmachen. Also: Poste den Code mal ;)

Gruß,
Max

Gausi 24. Feb 2007 09:57

Re: wma-dateien mit bass.dll abspielen
 
Nur zur Sicherheit: Die WMAs sind nicht DRM-geschützt, oder?

blablab 24. Feb 2007 10:06

Re: wma-dateien mit bass.dll abspielen
 
Delphi-Quellcode:
   if (HIWORD(BASS_GetVersion) <> BASSVERSION) then
   begin
      MessageBox(0,'An incorrect version of BASS.DLL was loaded',0,MB_ICONERROR);
      Halt;
   end;

   if not BASS_Init(-1, 44100, 0, Handle, nil) then
      Error('Error initializing audio!');

   ShowMessage(IntToStr(BASS_PluginLoad('basswma.dll', 0)));
Das BASS_PluginLoad gibt mir den Wert 269484032 zurück;

@Gausi: nein, ich denke nicht. Das würde ich doch sonst mal mitbekommen haben, oder?
außerdem kommt beim öffnen der wma ohne PluginLoad genau der gleiche fehler wie mit PluginLoad: 'Error creating Stream! (Error Code: 41)'

Prototypjack 24. Feb 2007 10:23

Re: wma-dateien mit bass.dll abspielen
 
Moin!

Mein Fehler, Entschuldigung, wir brauchen den Integer von BASS_ErrorGetCode direkt nach dem BASS_LoadPlugin Aufruf!

Gruß,
Max

(Der Integer der direkt zurückgegeben wird ist das PlugInHandle)

blablab 24. Feb 2007 10:35

Re: wma-dateien mit bass.dll abspielen
 
Der Error_Code ist 0!
Ich denk es liegt daran, wie ich die wma-Datei öffne:
BASS_StreamCreateFile(False, Dateiname, 0, 0, 0); liefert mir den Wert 0 zurück.
Muss ich das anders machen ?

Gausi 24. Feb 2007 10:49

Re: wma-dateien mit bass.dll abspielen
 
Ne, das sollte afaik einfach so gehen. Der Aufruf liefert die 41 zurück? [Edit: Ich meine hier den Errorcode] Dann vermute ich stark, dass bei diesen WMAs ein neuer(?) Codec verwendet wurde, den die bass noch(?) nicht kennt. Wie erstellst du denn die WMAs, bzw. wo hast du die her? Funktionieren "alte" Dateien?

blablab 24. Feb 2007 11:05

Re: wma-dateien mit bass.dll abspielen
 
Ich hab keine ahnung, was das für wmas sind. Das sind halt irgendwelche uralte wmas, die ich halt auf der Festplatte gefunden hab. Ich probiers mal mit anderen...

turboPASCAL 24. Feb 2007 11:25

Re: wma-dateien mit bass.dll abspielen
 
Zitat:

Zitat von blablab
Der Error_Code ist 0!
Ich denk es liegt daran, wie ich die wma-Datei öffne:
BASS_StreamCreateFile(False, Dateiname, 0, 0, 0); liefert mir den Wert 0 zurück.
Muss ich das anders machen ?

Code:
Creates a sample stream from a WMA file or URL.

HSTREAM BASS_WMA_StreamCreateFile(
    BOOL mem,
    void *file,
    DWORD offset,
    DWORD length,
    DWORD flags
);
:gruebel:

blablab 24. Feb 2007 11:51

Re: wma-dateien mit bass.dll abspielen
 
Damit bekomme ich den error-Code 1001

Aber das sind ganz normale wma! Die kann ich mit jedem anderen Programm öffnen. Eigentlich sollte er die schon öffnen können!

Edit:
Ich hab jetzt mit der wmfdist.exe die benötigten Windows Media Format Module installiert. Also daran kanns auch nicht liegen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:21 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 by Thomas Breitkreuz