Zitat:
// hier ist der ganze magische Trick!!!
HR := SessionManager2.GetSessionEnumerator(SessionEnum);
// Musste rufen, sonst wird nicht notifiziert!
@TiGü
Wegen deinem Trick..
Du weist aber schon das ich genau das schon mache?
Hmmm....
Delphi-Quellcode:
// We can get session enumerator if we use Windows 7 or newer system.
if (Win32MajorVersion > 6)
or ((Win32MajorVersion = 6)
and (Win32MinorVersion >= 1))
then
begin
// Get the session manager2 for the endpoint device.
HR := Device.Activate(IID_IAudioSessionManager2, CLSCTX_ALL,
nil, IUnknown(SessionManager2));
if HR <> S_OK
then
raise Exception.Create('
Error : Unable to get AudioSessionManager2 Interface');
// Register TAudioSessionNotification to receive a notification when a session is created.
HR := SessionManager2.RegisterSessionNotification(self);
if HR <> S_OK
then
raise Exception.Create('
Error : Unable to Register Session Notification');
// Get the session enumerator
HR := SessionManager2.GetSessionEnumerator(SessionEnumerator);
// <<<<<<<<
if HR <> S_OK
then
raise Exception.Create('
Error : Unable to get SessionEnumerator Interface');
end;
gruss