Hi,
hmmm alles was ich bisher brauchte habe ich in Foren gefunden. Aber was du willst geht ganz einfach, da such ich gar nicht erst nach:
Delphi-Quellcode:
procedure TYourForm.UpdatePeakAmplitude;
var
Level: Integer;
L, R: Integer;
begin
Level := BASS_ChannelGetLevel(ChannelHandle);
if Level <> -1
then
begin
Left := Level
and $7FFF;
Right := (level
shr 16)
and $7FFF;
//ProgressBar1.Position := Left;
//ProgressBar2.Position := Right;
end
else //Feherbehandlung hier:
case BASS_ErrorGetCode
of
BASS_ERROR_HANDLE: HandleInvalidHandleError;
BASS_ERROR_NOPLAY: HandleNotPlayingError;
BASS_ERROR_ENDED: HandleFinishPlayingError;
BASS_ERROR_BUFLOST: HandleShouldNotHappenError;
//wrong handle via initialization?
else
HandleErrorWhichNeverHappens;
end;
end;
Left und Right sind dann im Bereich 0..32767. Das ganze während der Wiedergabe z. B. im Timer aufrufen. (Interval < 40 wäre sinnlos wegen menschl. Auge.)
Übrigens ist es dabei egal, ob du die BASS.DLL extern oder intern verwendest, die Aufrufe ändern sich ja nicht.
Mfg
FAlter
[edit] Evtl. kann das ja mal ein Mod Aufteilen und ins Multimedia-Forum verschieben, denn ab hier ist es nicht mehr K&T. [/edit]
[edit2]
Wir sind ja gar nicht in K&T. [/edit]