Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#31

AW: Zuweisung der Hauptlautstärke

  Alt 30. Jan 2017, 16:51
Bei mir in der Anwendung funktioniert es so. Dann hast du irgendwo anders noch ein Problem. Nur der Vollständigkeit halber: Bei mir Windows 10 und Delphi 10.1.

BTW das einzige mir bekannte Optimierungsmöglichkeit ist noch, dass man den Wert vom Trackbar nicht absolut sondern prozentual korrigiert. Bei einer Gesamtlautstärke von 1.0 spielt das keine Rolle, aber wenn die Laustärke weit unten ist, dann reagiert der Fader nicht linear.
Ich kann nur sagen das er auf nur einen Kanal ausgelegt ist.
der Linke Kanal wird von 0 > 100 verändert der Rechte bleibt von deinem Sample unberührt.

Ausgenommen davon das die Lautstärke über eine Callback geregelt wird gibt es keine anderen Probleme.

Mein Code..
Delphi-Quellcode:
  Balance := Max(-tbMasterBalance.Max, Min(tbMasterBalance.Max, tbMasterBalance.Position));

  leftVol := 1.0 - Max(0.0, (Balance / tbMasterBalance.Max));
  rightVol := 1.0 + Min(0.0, -leftVol);

  AudioEndpointVolume.SetChannelVolumeLevelScalar(0, (leftVol * Channels), @GUID_TAudioVolume);
  AudioEndpointVolume.SetChannelVolumeLevelScalar(1, (rightVol * Channels), @GUID_TAudioVolume);

Behandelt den rechten und linken Kanal gleichzeitig und funktioniert solange wie die Maixmale Lautstärke nicht verändert wird.

Siehe insbesondere auf "-leftVol"

EDIT:
Habe das mal auf das von dir verlinkte sample umgelegt.
Das veranschaulicht das Problem..
Stelle alle Trackbars auf max dann navigiere mit der Mittleren.


Ich muss wohl davon ausgehen das es über eine Trackbar wohl nicht machbar ist.

gruss

Geändert von EWeiss (31. Jan 2017 um 05:43 Uhr)
  Mit Zitat antworten Zitat