Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rampe Lautstärke (https://www.delphipraxis.net/96096-rampe-lautstaerke.html)

bluescreen25 18. Jul 2007 15:28


Rampe Lautstärke
 
Ich habe noch nicht das richtige Rezept !

Ich möchte eine Funktion die mir ermöglicht mit folgenden vorhandenen Werten eine Lautstärkeerhöhung /Senkung zu realisieren.

Zeit : frei deffinierbar ,Beispiel 5 sek
Volume Max : 100 %
Volume Min : 0 %
Speed Min : 0% ,bei Verwendung von Timern : 1000
Speed Max : 100%,bei Verwendung von Timern : 50

Geschwindigkeit der Erhöhung/Senkung bezogen wie lange man den Button down hält. Also immer schneller Volume erhöhen ,solange man Maus down hält. Die Berechnung der Geschwindigkeit sollte auf die vorgegebene Zeit erfolgen, je länger die Zeit, desto schneller die Geschwindigkeit.
Sprich Zeit Max = Speed Max


Oder gibt es ausgereiftere Volumesteuerungen ?


Gruß, bluescreen25

SirThornberry 18. Jul 2007 15:50

Re: Rampe Lautstärke
 
bei deiner Variante hat man das Problem das die Lautstärke dann immer fixer laut wird.
Schöner finde ich folgende Variante:
Bsp.:
1.) Visuelle Fläche 50 Pixel hoch
2.) Drückt man die Maustaste über der Fläche wird die Lautstärkeregelung begonnen
3.) Wie schnell sich die Lautstärke ändert ist abhängig davon ob die Maus bei Y-Position 1 oder Y-Position 50 ist

andere Variante:
schritt 1 und 2 gleich, dann:
- An der Y-Position wo die maus gedrückt wird ist die 0 Stellung (es wird nicht lauter oder leiser)
- Je nach dem wie weit man die Maus jetzt von der 0 Stellung weg bewegt destso schneller ändert sich die lautstärke

oder letzte variante:
man hat einfach eine Trackbar bzw. eine Liste welche von Lautstärke Min bis Max geht.
Durch klicken an die Stelle wird die Lautstärke soforrt auf diesen Wert geändert.
Diese Variante hat den Vorteil das man die Lautstärke schnell auf deinen gezielten wert bringen kann und nicht ausversehen zu lange die lautstärke erhöht und somit etwas zu laut wird.

bluescreen25 18. Jul 2007 16:03

Re: Rampe Lautstärke
 
Zitat:

Zitat von SirThornberry
bei deiner Variante hat man das Problem das die Lautstärke dann immer fixer laut wird.
Schöner finde ich folgende Variante:
Bsp.:
- Visuelle Fläche 50 Pixel hoch
- Drückt man die Maustaste über der Fläche wird die Lautstärkeregelung begonnen
- Wie schnell sich die Lautstärke ändert ist abhängig davon ob die Maus bei Y-Position 1 oder Y-Position 50 ist

Die Lautstärkeregelung geht sicherlich schneller hoch , je länger die Zeit ist, aber Speed Max bleibt ja Speed Max.

Das Problem ist, das der User die Zeit selber variieren möchte. Dem einen gehts zu schnell, dem anderen zu langsam bis er endlich Lautstärke "fühlt". Das andere ist, das es am Anfang noch exakt auf 1% einstellbar sein muss, für diejenigen, die empfindlich leise hören wollen.

Im Moment ist es nur eine Steuerung, die über einen 100ms-Timer bei konstantem Maus-down 1 % hoch/runterregelt.....das ist wie gesagt dem einen zu langsam, dem anderen wieder zu ungenau, weil man selten 1% trifft, sondern gleich bei einem Klick 1-3 % Änderung hat.

Mackhack 19. Jul 2007 02:07

Re: Rampe Lautstärke
 
Du koenntest auch folgendes machen.

Wenn Mauszeiger auf den Button gedrueckt wird wird pro Buttonklick um 1 nach oben oder unten gefahren, wenn der Button fuer z. B. >= 2 Sekunden gedrueckt wird geht die Lautstaerke um z. B. 5 Schritte hoch oder runter. Willst du noch mehr Speed reinbringen sagen wir nach 5 Sekunden das gleiche nur in z. B. 8 oder 10 Schritten dann anstatt nur einem bzw. 5 Schritten.

bluescreen25 19. Jul 2007 11:22

Re: Rampe Lautstärke
 
Zitat:

Zitat von Mackhack
Du koenntest auch folgendes machen.

Wenn Mauszeiger auf den Button gedrueckt wird wird pro Buttonklick um 1 nach oben oder unten gefahren, wenn der Button fuer z. B. >= 2 Sekunden gedrueckt wird geht die Lautstaerke um z. B. 5 Schritte hoch oder runter. Willst du noch mehr Speed reinbringen sagen wir nach 5 Sekunden das gleiche nur in z. B. 8 oder 10 Schritten dann anstatt nur einem bzw. 5 Schritten.

Danke für deine Antwort.
Diese Möglichkeit hatte ich auch mal im Sinn, sieht aber nicht so nett aus, wenn man eine Anzeige in % hat, die dann sprunghaft hochläuft.

Am besten schaut es aus, wenn nur 1% hoch geht , aber die Geschwindigkeit steiged gemacht wird.Im Moment macht des ein 100ms Timer, der bei Mausdown mitläuft und alle 100ms 1 % weitergeht...der Speed ist knapp schnell genug aber nicht präzise, wenn man mal nur einen Klick macht, dann können schonmal 2-3% verstrichen sein.

Deshalb kam ich auf die Idee eine Rampe zu haben, die bei Klick nur 1% macht, ab 2 sek Mausdown dann immer schneller wird, wie bei manchen Autoradios oder CD-Playern beim Spulen von Cds.....

Damit es jedem User genügt, wollte ich eine Variabel dem User einstellbar überlassen, um sich den Hochlauf von 0-100% ggf schneller oder langsamer zu gestalten, jedoch immer auch die Möglichkeit zu haben, nur mal 1% bei Klick zu haben.

Die Bedienung erfolgt nicht nur per Maus, sondern auch über Touchscreen oder andere Eingabegeräte (shortcuts).

Der Unterschied da ist, das ein Mausdown konstant ist und für Impule halt Unterbrechungen braucht wie jetzt der Timer, jedoch ein shortcut schon Impulse mitbringt.....


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