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