Re: MP3 in Cache "zwischenspeichern"
Nochmal eine Frage zum Euqalizer:
Wie muss ich diesen jetzt deklarieren/initialisieren? bis jetzt habe ich:
Delphi-Quellcode:
Wenn ich jetzt jedoch wie in der Demo die verschiedenen Bänder zbsp mit:
var Equalizor:TBassEquiliserClass;
.. Equalizor:=Player.Channel[0].Equiliser.create; Equalizor.Start
Delphi-Quellcode:
setzen will, bekomme ich einen Fehler
Equalizor.SetIndexGain(0,3);
|
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 |
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 |
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 |
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 |
Re: MP3 in Cache "zwischenspeichern"
|
Re: MP3 in Cache "zwischenspeichern"
Super danke!!!
|
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. |
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