Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Volumen regeln und aktualisieren (https://www.delphipraxis.net/14930-volumen-regeln-und-aktualisieren.html)

beatles 18. Jan 2004 14:42


Volumen regeln und aktualisieren
 
Hallo,

bin neu hier und verspreche mir trotzdem irgendwie Hilfe zu bekommen.

Ich habe mir da ein kleines Programm geschrieben. Das beinhaltet eine Text – Anzeige und einen TMediaplayer.
Des weiteren soll da auch aktiv die Lautstärke geregelt werden können.
Soweit läuft auch alles „WUHHHNDERBAAAAHR“.
Aber trotzdem habe ich ein Problem:
Wenn ich die Lautstärke regele dann zeigt sich auch parallel in der Eigenschaft des Lautsprechersymbols in der Taskleiste, dass ich die Lautstärke ändere.

Da ich absolut Neuling in „Delphi“ bin, suche ich mir auch nat. öffentliche Codes. Dabei bin ich auf das Tool von „Sunisoft FreeVCL“ gestoßen. Die Einbindung ist (jedenfalls für mich) sehr einfach:

Delphi-Quellcode:
procedure TForm1.TrackBar2Change(Sender: TObject);
begin
ssVolumeController1.Volume:=trackbar1.Position;
end;

Aber was fehlt, ist die Funktion andersrum… Die Trackbar soll sich auch auf das Ereignis einrichten, wenn ich die Lautstärke des Mixers von ändere.

Ich habe es mittels Timer versucht:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Trackbar1.Position:=ssVolumeController1.Volume;
end;
Auch das funktioniert, aber der Schieber wackelt bei dem Prozess ständig hin und her…. Was sollte ich tun, damit da verhindert wird?

iaby 20. Jan 2004 08:10

Re: Volumen regeln und aktualisieren
 
ein beispiel:
wenn du volume auf 50 setzt, dann wieder ausliest, so bekommst du nicht wieder 50 zurück(soweit ich weiß)
wenn du nun die trackbar neu setzt, so wird auch das onchange event ausgelöst, das dann wieder einen anderen wert der lautstärke setzt, der timer liest dann wieder was anderes aus, und so weiter.
du solltest also am besten den source umschreiben, oder den fehler aber im programm korigieren, indem du beispielsweise immer +1 beim auslesen dazu zählts(oder wie groß der fehler auch immer sein mag, vielleicht ja auch in % ?)

gruss,
iaby


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz