Zitat von
Dana:
Hallo Turbo Pascal,
ich habe mit Deinen Komonenten BassdllPlayer versucht die Lautstärke eines Internetstreams zu verändern. Ging leider nicht. Deshalb habe ich folgende Zeilen in Deine
Unit eingefügt.
Ist das in Ordnung. Oder was habe ich falsch gemacht.
Ja und nein.
BASS_SetVolume setzt die globale Lautstärke also das Mastervolume.
( So was kann ich pers. nicht leiden wenn mir ein Prg. meine Einstellung verstellt
)
Die richtige Korrektur sollte zB. so aussehen:
Delphi-Quellcode:
procedure TBassdllPlayer.SetVolume(Volume: Byte);
var AnzChannels: integer;
begin
// Begrenzen auf 100
if Volume > 100 then Volume := 100;
case Modus of
moStream,
moSamples: BASS_SetConfig(BASS_CONFIG_GVOL_STREAM, Volume);
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;
Werde es bei Gelegenheit korrigieren.
//Edit: ich glaube bei GetVolume ist das der selbe Fall/Fehler "moStream" fehlt da wolh auch.