Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi (Bass.dll) Lautstärke regeln (https://www.delphipraxis.net/138648-bass-dll-lautstaerke-regeln.html)

0nk3lz 14. Aug 2009 00:12


(Bass.dll) Lautstärke regeln
 
Hey Leute,
ich habe in meinem StreamPlayer die Lautstärke des Streams mit einer Scrollbar und folgendem Code geregelt.

Delphi-Quellcode:
BASS_ChannelSetAttribute(chan, BASS_ATTRIB_VOL, (100 - ScrollPos) / 100);
Das steht im OnScroll Event der Scrollbar.
Allerdings nun das hauptsächliche Problem:
Ich möchte nicht die Standart Scrollbar nutzen, sondern die der VCL Skin-Sammlung.
Die nennt sich spSkinScrollBar und hat kein OnScroll Event.
Wie kann ich damit die Lautstärke regeln, ohne OnScroll Event?

MfG 0nk3lz

jaenicke 14. Aug 2009 04:19

Re: (Bass.dll) Lautstärke regeln
 
Die wird doch wohl irgendein passendes Ereignis haben, OnChange oder so etwas. :gruebel:
Hast du die Liste einmal angeschaut, findest du da nichts passendes?

0nk3lz 14. Aug 2009 13:07

Re: (Bass.dll) Lautstärke regeln
 
Ein OnChange Ereignis gibt es, aber ich schaff es nicht den Code passend umzuschreiben.

Gausi 14. Aug 2009 13:53

Re: (Bass.dll) Lautstärke regeln
 
Der letzte Parameter muss ein Wert zwischen 0 und 1 sein. 0 bedeutet stumm, 1 laut. Wie diese Komponente was für Werte bei welchen Events liefert, solltest du schon irgendwie rausfinden können.

Oder wo hapert es?

0nk3lz 14. Aug 2009 15:41

Re: (Bass.dll) Lautstärke regeln
 
Es hapert, weil ich das ganze in einem OnChange Event, anstatt im OnScroll Event haben möchte.
Und im OnChange Event kann ich das
Delphi-Quellcode:
"(100 - ScrollPos) / 100);"
nicht verwenden.
Und ich weiß nicht, wie ich die Werte dementsprechend ändern soll...

jaenicke 14. Aug 2009 21:18

Re: (Bass.dll) Lautstärke regeln
 
Naja, OnChange hat eben keinen Parameter mit der Position vermutlich, aber es wird ja die Eigenschaft Position o.ä. der Scrollbar geben...

dynamo 2. Okt 2009 17:30

Re: (Bass.dll) Lautstärke regeln
 
Auch wenn mein Reflex auf deine Frage etwas spät kommt - wahrscheinlich hast du das Problem längst gelöst...

Ich nehme an, dass du das Skin-Pack von Almediadev verwendest (spSkin... usw.)

Im OnChange-Event kannst du folgendes setzen:

Delphi-Quellcode:
BASS_ChannelSetAttribute(chan, BASS_ATTRIB_VOL, (100-spSkinScrollBar1.Position) / 100);
Oder, falls du lieber das etwas attraktivere spSkinSlider-Control verwenden möchtest:

auch dort im OnChange-Event:

Delphi-Quellcode:
BASS_ChannelSetAttribute(chan, BASS_ATTRIB_VOL, (100-spSkinSlider1.Value) / 100);


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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