Hi,
ich habe diesen thread jetzt erstellt, um da der alte thread:
"Winamp Peaks auslesen" (
http://www.delphipraxis.net/internal...t.php?t=157807)
nicht mehr so wirklich passt, bzw. es nun um etwas anderes geht.
Ich lese jetzt mithilfe der Bass.dll die Peaks der Soundkarten Ausgänge aus und habe somit nun die Peakwerte.
Mein Problem ist jetzt allerdings das meine Umsetzungsidee um anhand der Peaks die Farben zu erzeugen nicht so wirklich klappt.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
Color_R, Color_G, Color_B, level: integer;
begin
level := BASS_ChannelGetLevel(RecChannel);
if CheckBox1.Checked = true
then Color_R := (round(HIWORD(level) / 255) + TrackBar1.Position)
else Color_R := 0;
if CheckBox2.Checked = true
then Color_G := (round(HIWORD(level) / 255) + TrackBar1.Position)
else Color_G := 0;
if CheckBox3.Checked = true
then Color_B := (round(HIWORD(level) / 255) + TrackBar1.Position)
else Color_B := 0;
JvColorTrackBar4.Position := Color_R;
JvColorTrackBar5.Position := Color_G;
JvColorTrackBar6.Position := Color_B;
JvPanel3.Color :=
RGB(Color_R, Color_G, Color_B);
SendRGB(Color_R, Color_G, Color_B);
end;
Funktionieren tut das ansich auch. (Timer ist momentan auf 100ms eingestellt). Das Problem ist nur das die Übergänge der Farben viel zu ruppig sind. Somit hat man einfach nur ein nerviges flackern.
Um sich das ggf. besser vorstellen zu können habe ich das Programm mal angehängt. (Im Reiter Sound2Light auf aktivieren klicken)
Hat jemand eine Idee wie man das ganze abändern könnte um schön weiche Farbübergänge/Effekte zur Musik zur erzeugen ?
mfg Blamaster