Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

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)

kurtm1 5. Jul 2005 12:54

Re: MP3 in Cache "zwischenspeichern"
 
Nochmal eine Frage zum Euqalizer:
Wie muss ich diesen jetzt deklarieren/initialisieren?

bis jetzt habe ich:
Delphi-Quellcode:
var Equalizor:TBassEquiliserClass;
..
        Equalizor:=Player.Channel[0].Equiliser.create;
        Equalizor.Start
Wenn ich jetzt jedoch wie in der Demo die verschiedenen Bänder zbsp mit:
Delphi-Quellcode:
Equalizor.SetIndexGain(0,3);
setzen will, bekomme ich einen Fehler

omata 5. Jul 2005 17:39

Re: MP3 in Cache "zwischenspeichern"
 
Moin,

der Equiliser wird automatisch initialisiert.

Also mal wieder ein minimal Beispiel...

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

Kanal hinzufügen:
BassChannel:=BassdllPlayerEx.addChannel(100);

Band hinzufügen:
BassChannel.Equiliser.addBand(1000, 18, 0);
=> Frequenz: 1KHz, Bandbreite: 18Hz, Gain: 0db

Equiliser starten:
BassChannel.Equiliser.Start;

Equiliser stoppen:
BassChannel.Equiliser.Stop;

Gain einer Bandfrequenz auf 1 ändern:
BassChannel.Equiliser.SetFrequenzGain(1000, 1);

Gain über den Bandindex auf 1 ändern:
BassChannel.Equiliser.SetIndexGain(0, 1);

freigeben:
BassdllPlayerEx.free;

Viel Spass
Thorsten

kurtm1 5. Jul 2005 19:13

Re: MP3 in Cache "zwischenspeichern"
 
k danke.
Ich hab in deiner Demo keine Zeile gefunden, wo die verschiedenen Bänder angelegt werden, deswegen hab ich geglaubt diese werden automatisch gemacht.

Jetzt funktionier aber alles bestens

omata 5. Jul 2005 21:16

Re: MP3 in Cache "zwischenspeichern"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

die Zeilen findest du in FrameSoundkarteU.

So, ich habe mal wieder eine überarbeitete Fassung. Es gibt jetzt auch Ereignisse. Zwei Stück. Ein Zeit-Ereignis und ein Paint-Ereignis. Beide werden über jeweils einen eigenen Timer ausgelöst. Das Interval ist einstellbar, wird aber eigentlich auch schon richtig initalisiert. Die Hauptkomponente (BassdllPlayerEx), die eine Soundkarte anspricht enthält die beiden Timer. Also hat man nun zwei Timer pro Soundkarte (vorher waren es zwei pro Kanal!). Die Ereignisse der BassdllPlayerEx-Komponente werden als erstes ausgelöst. Jeder Kanal hat wiederrum seine eigenen Ereignisse, die nach den Hauptereignissen aufgerufen werden. Dieses Aufrufen kann man in den Hauptereignissen auch deaktivieren (über ChannelEvent).

Zusätzlich habe ich noch die Zeitangaben überarbeitet. Über SongTimeInfo[] kann man nun die Länge, die Spielzeit und die verbleibende Zeit in Sekunden oder als String auslesen.

Von turboPascal habe ich eine erweiterte Unit erhalten, die die BitmapBlur.pas ersetzt. Dadurch sind jetzt auch schönere Levelanzeigen möglich. Eventuell sollte dass auch nochmal eine Klasse werden, damit man das Aussehen manipulieren kann. Naja, mal sehen...

Viel Spass...
Thorsten

kurtm1 8. Jul 2005 19:34

Re: MP3 in Cache "zwischenspeichern"
 
@omata:
Ich hätte wiedermal einen Verbesserungsvorschlag: Wäre es irgendwie möglich, dass die Position genauer ausgelesen, und gesetzt werden kann? (nicht nur auf Sekunden-Genauigkeit sondern vielleich auf die Millisekunde genau)

Das würde neue Funktionen möglich machen

mfg. kurtm1

omata 9. Jul 2005 01:56

Re: MP3 in Cache "zwischenspeichern"
 
So, habe ich eingebaut...

Die neuesten Versionen findest du jetzt hier

MfG
Thorsten

kurtm1 9. Jul 2005 18:47

Re: MP3 in Cache "zwischenspeichern"
 
Super danke!!!

kurtm1 13. Jul 2005 19:19

Re: MP3 in Cache "zwischenspeichern"
 
So ich habe jetzt schon mal viel gecodet, und bin dabei auf folgendes Problem gestoßen:

Angenommen ich habe 2 Kanäle (A/B), und möchte diese "synchronisieren", ich würde dies so ausführen:
B.MilliSecPosition:=A.MilliSecPosition;
B.Play

Wenn ich dies jedoch so code, dann wird die Position vom Kanal 2 anscheinend nicht gesetzt, Kanal B beginnt immer ganz von vorne zu spielen.

Lösungen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 Uhr.
Seite 4 von 4   « Erste     234   

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