Rikill

Ты бы хоть иногда в справку заглядывал. В данном случае в справку, идущую с bass.dll.
читать дальше »
Код:

[Setup]
AppName=MyApp
AppVername=MyApp
DefaultDirname={pf}\MyApp
[ code]
type
HSTREAM = DWORD;
HFX = DWORD;
BASS_DX8_PARAMEQ = record
fCenter: single;
fBandwidth: single;
fGain: single;
end;
const
BASS_FX_DX8_PARAMEQ = 7;
function BASS_ChannelSetFX(handle, type_: DWORD; priority: LongInt): HFX; external 'BASS_ChannelSetFX@files:bassdll.dll stdcall';
function BASS_ChannelRemoveFX(handle: DWORD; fx: HFX): BOOL; external 'BASS_ChannelRemoveFX@files:bassdll.dll stdcall';
function BASS_FXSetParameters(handle: HFX; par: BASS_DX8_PARAMEQ): BOOL; external 'BASS_FXSetParameters@files:bassdll.dll stdcall';
function BASS_FXGetParameters(handle: HFX; var par: BASS_DX8_PARAMEQ): BOOL; external 'BASS_FXGetParameters@files:bassdll.dll stdcall';
function BASS_FXReset(handle: HFX): BOOL; external 'BASS_FXReset@files:bassdll.dll stdcall';
var
FileStream: HSTREAM; // handle воспроизводящегося потока
FX: HFX; // handle добавляемого эффекта
TrackBar1: TTrackBar;
procedure TrackBar1Change(Sender: TObject);
var
PE: BASS_DX8_PARAMEQ;
begin
BASS_ChannelRemoveFX(FileStream, FX); // чтобы убрать предыдущую настройку
FX := BASS_ChannelSetFX(FileStream, BASS_FX_DX8_PARAMEQ, 1);
PE.fCenter := 80; // частота регулируемой полосы (в герцах, от 80 до 16000)
PE.fGain := TrackBar1.Position; // задаваемое значение (от -15 до 15)
BASS_FXSetParameters(FX, PE);
end;
Как-то так. Но у функций BASS_FXGetParameters, BASS_FXSetParameters, вторым параметром стоит Pointer, т.е. указатель на область памяти содержащей структуру, а не сама структура, так что хз как будет работать.