Hi.
Bin gerade dabei meinen Player zu verbessern/neu zu coden.
Jetzt wollte ich einen Equalizer drin haben.
Mit folgendem Code habe ich es versucht zu testen.
Delphi-Quellcode:
var EQBands : array [0..10] of integer;
...
Procedure Test_EQ;
var i : integer;
begin
FSOUND_SetPaused(FSOUND_ALL,true);
for i := 0 to 10 do
EQBands[i] := FSOUND_FX_Enable(FSOUND_ALL,FSOUND_FX_PARAMEQ);
FSOUND_FX_SetParamEQ(EQBands[0], 80, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[1], 170, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[2], 310, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[3], 600, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[4], 1000, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[5], 3000, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[6], 6000, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[7], 12000, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[8], 14000, 12, 15);
FSOUND_FX_SetParamEQ(EQBands[9], 16000, 12, 15);
fmod.FSOUND_SetPaused(FSOUND_ALL,false);
end;
Erklärung der Parameter:
Laut der Fmod hilfe gibt der erste Parameter der Funktion FSOUND_FX_SetParamEQ die Id des Effekts an, welche vorher in dem Array gespeichert wurde.
Der 2. Parameter gibt den Center Wert an (?), mögliche Werte von 80 bis 16000, habe die benutzen Werte aus
diesem Thread hier.
Der 3. Parameter gibt irgendeine Bandweite an (?), standard ist 12.
Der 4. Parameter gibt den Gain Wert an, im bereich -15 bis 15, damit man merkt wenn was passiert habe ich 15 eingestellt.
Wisst ihr warum es trotzdem nicht geht?
MfG
Flips
Philipp F.