Habe den Quelltext jetzt nicht vor mir, aber ich habe in dem Beispielformular den oben genannten Eventhändler definiert und jeder tempSessionDingsbums an OnSessionCreated rangetackert. Bei neuen Programm mit Audioausgabe, z.B. FooBar2000, wurde das Event mehrfach ausgelöst. Also der Teil wo das Postmessage machst.
OK dann habe ich einen Denkfehler.
Muss dann wohl über AudioVolume1 doch das Event initialisieren.
Bin da wohl selbst über den Session und MasterVolumen Kram gestolpert.
Trotzdem bekomme ich kein Event..
Kann es sein das dieses nur von Anwendungen ausgelöst wird die das Interface auch unterstützen?
Denn wenn ich einen meiner Player starte passiert da gar nichts. Der Mixer selbst erkennt ihn aber und addiert ihn als Session.
Delphi-Quellcode:
{ TSessionNotification }
function TAudioSessionNotification.OnSessionCreated(const NewSession: IAudioSessionControl): HResult;
begin
PostMessage(MsgHandle, WM_SessionCreate, integer(@NewSession), 0);
Result := S_OK;
end;
Hier passiert nix.
Danke..
Zitat:
Hast du mal überlegt die IAudioSessionEvents, IMMNotificationClient, IAudioSessionNotification und IAudioEndpointVolumeCallback in TAudioVolume zu integrieren?
Mir ist jetzt nicht ganz klar wie du das bewerkstelligen würdest.
Bin mit dem
VCL Kram nicht gerade sehr bewandert.
Zitat:
Zitat:
Hm...die anderen Icons von den Anwendungen leaken auch...versuch mal, ob du das schöner hinkriegst.
Mache ich.. Danke
gruss