Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MP3 in Cache "zwischenspeichern" (https://www.delphipraxis.net/48931-mp3-cache-zwischenspeichern.html)

BenTech 4. Jul 2005 18:05

Re: MP3 in Cache "zwischenspeichern"
 
Zitat:

Zitat von omata
ja, schade dass du es nicht verstanden hast.

Man kann mit der Bass.dll nur eine Soundkarte ansprechen und auf dieser dann mehrere Channel miteinander mischen.

Wenn man aber mehr als eine Soundkarte hat, dann braucht man für jede Soundkarte eine eigene Dll.
Und dann muss man eben die Dll mehrfach (so oft wie Soundkarten vorhanden sind) laden.

MfG
Thorsten

Oh, sorry. Das kommt davon, wenn man nicht richtig liest ;). War mir kurz, nachdem ich es geschrieben hatte, grad auch aufgefallen :oops:

kurtm1 4. Jul 2005 18:18

Re: MP3 in Cache "zwischenspeichern"
 
@omata:
Das Demo ist ja einfach ein Wahnsinn!!
*Respekt*

omata 4. Jul 2005 18:22

Re: MP3 in Cache "zwischenspeichern"
 
Vielen Dank,

aber habe gerade eine unschöne Kleinigkeit entdeckt.
Auf der Suche nach dem Speicherleck, habe ich testweise eine Zeile auskommentiert.

Also, bitte das Kommentar löschen:

Datei: DllLoaderEx - Zeile: 1011

dort steht zur Zeit:
Delphi-Quellcode:
 FOR I:=0 TO LENGTH(Sections)-1 DO BEGIN
  IF ASSIGNED(Sections[I].Base) THEN BEGIN
//    VirtualFree(Sections[I].Base,0,MEM_RELEASE);
  END;
 END;
bitte ändern in:
Delphi-Quellcode:
 FOR I:=0 TO LENGTH(Sections)-1 DO BEGIN
  IF ASSIGNED(Sections[I].Base) THEN BEGIN
    VirtualFree(Sections[I].Base,0,MEM_RELEASE);
  END;
 END;
PS: Das löst leider nicht das Speicherleck!

Danke
Thorsten

kurtm1 4. Jul 2005 18:49

Re: MP3 in Cache "zwischenspeichern"
 
So ich hab mir jetzt den Code einmal angesehen, und muss sagen dass dieser so umfangreich ist, dass ich eine kleine 'Starthilfe' benötige:

Kannst du vielleicht nochmal nur den Code posten (in der minimalsten Form) den ich jetzt brauche um:
[X] den Player zu initialisieren
[X] einen Channel anzulegen
[X] diesen Channel abspielen

der Rest sollte mir dann von selbst klar werden

omata 4. Jul 2005 19:01

Re: MP3 in Cache "zwischenspeichern"
 
Gerne...

Komponente initialisieren:
BassdllPlayerEx:=TBassdllPlayerEx.Create(Self);

Kanel hinzufügen (Volume = 100):
BassdllPlayerEx.addChannel(100);

1. Kanal mit Datei laden:
BassdllPlayerEx.Channel[0].LoadFromFile(...);

1. Kanal abspielen:
BassdllPlayerEx.Channel[0].Play;

Komponente freigeben:
BassdllPlayerEx.free;

MfG
Thorsten

kurtm1 4. Jul 2005 19:22

Re: MP3 in Cache "zwischenspeichern"
 
Super danke

//edit: Fehlt jetzt die EQ Funktion?
(soweit ich es finde, gibts es nur mehr UpdateEQ und RemoveEQ)

omata 4. Jul 2005 21:29

Re: MP3 in Cache "zwischenspeichern"
 
Ja, sorry.

Verschiebe einfach in der BassChannelEx-Unit die Zeile:
Delphi-Quellcode:
  procedure InitEQ;
vom Private-Teil in den Public-Teil, dann kannst du auch wieder auf InitEQ zugreifen

MfG
Thorsten

kurtm1 4. Jul 2005 21:38

Re: MP3 in Cache "zwischenspeichern"
 
geht schon, danke

omata 5. Jul 2005 03:14

Re: MP3 in Cache "zwischenspeichern"
 
Liste der Anhänge anzeigen (Anzahl: 1)
So,
habe jetzt noch für jeden Kanal einen eigenen Equiliser eingebaut.
Jeder Equiliser kann wiederrum unendlich viele Bänder haben.

Viel Spass...

MfG
Thorsten

turboPASCAL 5. Jul 2005 12:38

Re: MP3 in Cache "zwischenspeichern"
 
... :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:09 Uhr.
Seite 3 von 4     123 4      

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