Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#208

AW: TAudioVolume Komponente incl. System Mixer

  Alt 30. Jun 2019, 09:23
Du meinst das Event?
Gibt es doch in meiner Komponente..

Siehe App..
procedure AudioVolume1MasterVolumeChanged(ByMyAction: Boolean; Volume: Single; Mute: Boolean);

AudioVolume..
Delphi-Quellcode:
TOnMasterVolumeEvent = procedure(ByMyAction: Boolean; Volume: Single; Mute: Boolean) of object;
//...
FOnMasterVolumeEvent: TOnMasterVolumeEvent;
//..
property OnMasterVolumeChanged
  : TOnMasterVolumeEvent read FOnMasterVolumeEvent write FOnMasterVolumeEvent;
Delphi-Quellcode:
function TAudioVolume.OnNotify(pNotify: PAUDIO_VOLUME_NOTIFICATION_DATA): HResult; stdcall;
begin
  if MainThreadID <> GetCurrentThreadId then
  begin
    TThread.Synchronize(nil,
      procedure
      var
        VolumeData: AUDIO_VOLUME_NOTIFICATION_DATA;
      begin
        VolumeData := pNotify^;

        if Assigned(tbMasterVolume) then
        begin
          tbMasterVolume.Position := round((1.0 - VolumeData.fMasterVolume) * tbMasterVolume.Max);
          ckMasterMute.Checked := VolumeData.bMuted;
        end;
        if Assigned(tbMasterBalance) then
          AdjustMasterBalancePos;

        if Assigned(FOnMasterVolumeEvent) then
          FOnMasterVolumeEvent(MyVolSet, VolumeData.fMasterVolume, VolumeData.bMuted); // hier ist die Rückgabe..
      end);
  end;

  Result := S_OK;
end;
Aber wie ich schon sagte habe die Komponente nicht weiter verfolgt diese kann also Fehler beinhalten.
Ich erstelle die mit meiner Anwendung Mixer64 Dynamisch.. und ist allemal besser als eine Komponente da man dann nicht abhängig von den Visuellen Styles ist die in der Komponente addiert\festgelegt sind.
Zudem muss ich nichts installieren oder Registrieren.

gruss

Geändert von EWeiss (30. Jun 2019 um 12:12 Uhr)
  Mit Zitat antworten Zitat