Hi
Kein Problem!
In der Bass Hilfe findest du ne Funktion (BASS_ChannelGetLevel) damit sollte es gehen! Ich habe diese Funktion auch im LiveTest Demo benutzt, such mal in der Unit1.pas nach ThresholdRecorder + BASS_RecordStart
Hier noch en Beispiel
Delphi-Quellcode:
procedure TAudioEngine.Get_VULevel(var L, R : Integer);
var VUCH : DWORD; L_VU, R_VU : integer;
begin
//The level ranges linearly from 0 (silent) to 128 (max).
VUCH := BASS_ChannelGetLevel(channel); // 0 (silent) to 32768 (max).
L_VU := LOWORD(VUCH);
R_VU := HIWORD(VUCH);
if (BASS_ChannelIsActive(channel) = BASS_ACTIVE_PLAYING) then
begin
L:= round(L_VU / 128) div 2;
R:= round(R_VU / 128) div 2;
end else
begin
L:= 0;
R:= 0;
end;
end;
procedure TForm.Timer_VUTimer(Sender: TObject);
var L, R : integer;
begin
with AudioPlayer do
begin
Get_VULevel(L, R);
Level_L.Position:= L;
Level_R.Position:= R;
end;
end;