Delphi-PRAXiS
Seite 11 von 34   « Erste     91011 121321     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   [Komponente] Bass Player Komponente: TBassDLLPlayer (+Demos) (https://www.delphipraxis.net/46916-%5Bkomponente%5D-bass-player-komponente-tbassdllplayer-demos.html)

kurtm1 5. Feb 2006 19:03

Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
 
Zitat:

Zitat von urbanbruhin
aaaah, ja, jetzt kann ich schonmal songs abspielen :dancer:

wie kann ich jetzt eine visualisierung anzeigen lassen?
einen equalizer wäre auch nicht schlecht...

bei der demo blicke ich wie gesagt nicht so richtig durch, ich habe die stelle nirgens gefunden, wo die Vis mit dem player "verbunden" wird

EQ:
Delphi-Quellcode:
   ChannelA.Equiliser.addBand(80,10,0);
   ...
Wobei die erste Zahl für die hz steht, und die zweite für die "Breite" des Bandes.
So erstellst du mal beliebig viele Bänder.

Dann gehts weiter:
Delphi-Quellcode:
   ChannelA.Equiliser.SetIndexGain(0,3);
-> damit erhöhst du das Band 0 um 3db

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

100nF 5. Feb 2006 19:35

Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Und bei der Visualisierung musst du dir die einzelnen Units ansehen, und dann noch herausfinden, wo das ganze gezeichnet wird
das ist gar nicht so einfach :gruebel:
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

omata 5. Feb 2006 23:02

Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
 
So ich habe die bestehende Version 2.3 neu hochgeladen.

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

Gandalfus 6. Feb 2006 21:52

Re: Bass Player Komponente: TBassDLLPlayer (+ Demos)
 
Zitat:

Zitat von turboPASCAL
Nun, ich habe mir mal den Code angeschaut. Was mir aufgefallen ist, ist das die Vis eine menge Platz verbrauchen. Wie währe es mit einer Möglichkeit diese auszulagern, zB. als Dll ? So könnte das Programm schlanker und die VIS variabler werden.

TBassDllPlayer + Visualisierung (Komponenten) von Gandalfus - könnte man ja mal fragen....

Ja kein Problem.
Man müsste sich nur auf eine gemeinsame Schnittstelle oder gemeinsame Entwicklung einigen.

turboPASCAL 7. Feb 2006 09:11

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: Bitte hier klicken! ;)

Hador 9. Feb 2006 16:11

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:
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;
EQ1 - EQ10 sind TJvxSlider.

kurtm1 9. Feb 2006 16:31

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

omata 9. Feb 2006 16:52

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 hier. Dort gibt es dann eine eigene Equalizer-Klasse, die dir das Leben etwas leichter macht.
Die Versionen sind ja identisch, bis auf den Equalizer und die Spezialfunktionen.

MfG
Thorsten

Hador 9. Feb 2006 17:59

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 :???:

100nF 26. Feb 2006 13:23

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:
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;
Gruss
urbanbruhin


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:26 Uhr.
Seite 11 von 34   « Erste     91011 121321     Letzte »    

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