Ha, jane kann ja auch nicht. Kleiner Bug in der
Unit.
Ändere (ersetze) mal in der
BassDLLPlayer.pas die folgenden Proceduren so:
Delphi-Quellcode:
function TBassPlayer.GetVolume: Byte;
begin
Result := 0;
Case Modus of
moStream,
moSamples : Result := BASS_GetConfig(BASS_CONFIG_GVOL_STREAM);
moMusik : Result := BASS_MusicGetAttribute(Channel, BASS_MUSIC_ATTRIB_VOL_CHAN);
end;
end;
procedure TBassPlayer.SetVolume(Volume: Byte);
var AnzChannels: integer;
begin
// Begrenzen auf 100
if Volume > 100 then Volume := 100;
Case Modus of
moSamples, moStream:
begin
BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, Volume);
end;
moMusik:
begin
AnzChannels := 0;
while (BASS_MusicSetAttribute(Channel,
BASS_MUSIC_ATTRIB_VOL_CHAN + AnzChannels, 1) <> DWord(-1)) do
begin
BASS_MusicSetAttribute(Channel, BASS_MUSIC_ATTRIB_VOL_CHAN + AnzChannels, Volume);
inc(AnzChannels);
end;
end;
end;
end;
PS.:
Anbei mal eine neue Version die die Bass.dll Version 2.3 unterstützt. In dieser Version wird das einbinden der Bass.Dll nicht unterstützt, das heisst die Bass.dll muss auf dem Rechner vorhanden sein bzw. mitgeliefert werden.