![]() |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Zitat:
Delphi-Quellcode:
Wobei die erste Zahl für die hz steht, und die zweite für die "Breite" des Bandes.
ChannelA.Equiliser.addBand(80,10,0);
... So erstellst du mal beliebig viele Bänder. Dann gehts weiter:
Delphi-Quellcode:
-> damit erhöhst du das Band 0 um 3db
ChannelA.Equiliser.SetIndexGain(0,3);
Damit das dann alles noch wirkt musst du ChannelA.Equiliser.Start wählen Und bei der Visualisierung musst du dir die einzelnen Units ansehen, und dann noch herausfinden, wo das ganze gezeichnet wird hth |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
ich habe es versucht, doch ich komme kein bisschen weiter :wall: kann vielleicht jemand zu meinem kleinen projekt (1 form und 3 buttons) eine visualisierung "hineinbasteln"? danach werde ich den code natürlich auch gründlich studieren. wäre wirklich nett wenn das jemand machen würde :angel: gruss urbanbruhin |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
So ich habe die bestehende
![]() Die Länge von VBR MP3s wird jetzt richtig berechnet und der Phaser macht jetzt auch wieder was er soll. Vielen Dank an kurtm1, für die Hinweise. MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Zitat:
Man müsste sich nur auf eine gemeinsame Schnittstelle oder gemeinsame Entwicklung einigen. |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Das soll ja nicht das Problem sein. ;)
Ich dachte mir dass das VIS-Fenster im Programm selbst einfach nur ein Panel oder irgend ein Control ist. In der DLL wird dann selbst ein Fenster erzeugt und dieses als Parent an das Fenster im Programm gehangen. Das macht dann die Sache unabhängig, zB. ob in der DLL OpenGL, GDI oder DirectX zum Zeichnen der VIS verwendet wird. Möglich sollte ja auch noch das / ein Einstelungs Formular sein, da habe ich aber noch keine richtige Idee. //Edit: Ich habe dazu mal einen Thread eröffnet: ![]() |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Ich nutze die Komponente TBassDllPlayerEx, Version 2.0 von Omata.
Nun wollte ich auch einen Equalizer einbauen, bekomme dabei jedoch immer Fehlermeldungen. Ich hoffe, dass ihr mir ein wenig weiterhelfen könnt. Hier mal ein paar markante Stellen des Quellcodes:
Delphi-Quellcode:
procedure TChannelForm.EqualizerClick(Sender: TObject); // Equalizer ist eine Checkbox
begin if Equalizer.Checked then Channel.UpdateEQ(20-EQ1.Value, 20-EQ2.Value, 20-EQ3.Value, 20-EQ4.Value, 20-EQ5.Value, 20-EQ6.Value, 20-EQ7.Value, 20-EQ8.Value, 20-EQ9.Value, 20-EQ10.Value) // Bei diesem Aufruf meldet er immer einen Fehler: // Es ist ein Fehler aufgetreten. EQ kann nicht eingestellt werden else Channel.RemoveEQ; end;
Delphi-Quellcode:
EQ1 - EQ10 sind TJvxSlider.
procedure TChannelForm.EQ1Change(Sender: TObject);
begin if Equalizer.Checked then Channel.UpdateEQ(20-EQ1.Value, 20-EQ2.Value, 20-EQ3.Value, 20-EQ4.Value, 20-EQ5.Value, 20-EQ6.Value, 20-EQ7.Value, 20-EQ8.Value, 20-EQ9.Value, 20-EQ10.Value); end; |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Ich habe mir deine Dateien nicht angesehen, aber jedes EQ Band kann "nur" um 15db geändert werden -> Wahrscheinlich wird der Fehler hier sein, dass du in deinen Zeilen "20-EQ1.Value" schreibst
|
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
Hallo Hador,
wenn ich das UpdateEQ da so sehe, dann hast du noch die nichtüberarbeitet 2.0 Version schau mal ![]() Die Versionen sind ja identisch, bis auf den Equalizer und die Spezialfunktionen. MfG Thorsten |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
@ kurtm1:
Nein das kann nicht der Grund sein, da das ganze ja erstmal in 0-Stellung geschiet. @ omata: Danke - ich werde mir die Kompo mal angucken. ------------- Also da war schon sop einiges andes als bei der die ich vorher genutzt habe. Aber jetzt funktioniert es endlich :thumb: Ich hoffe nur, dass das ganze nachher auch noch auf meinem alten PC läuft :???: |
Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
hi,
ich wollte mal fragen wie man die länge des tracks ermittelt. am besten in sekunden oder als zeitformat. ich habe mir das etwa so vorgestellt:
Delphi-Quellcode:
Gruss
var zeit: integer;
begin ChannelA.loadfromfile('blabla.mp3'); ChannelA.Play; zeit := ChannelA.TimeInSec; // TimeInSec gibts ja nicht, wie muss ich das machen?? ChannelA.Stop; end; urbanbruhin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 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 by Thomas Breitkreuz