AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Das Handle ist ungültig

Ein Thema von EWeiss · begonnen am 2. Mai 2018 · letzter Beitrag vom 6. Mai 2018
Antwort Antwort
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.081 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:08
Was ist SessionControl2? Wo kommt es her? Wie wird es erzeugt? Was ist der Datentyp? Ist das ein Interface? Wie ist die Definition des Interfaces?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:15
Was ist SessionControl2? Wo kommt es her? Wie wird es erzeugt? Was ist der Datentyp? Ist das ein Interface? Wie ist die Definition des Interfaces?
Delphi-Quellcode:
unit AudioSessionControl;

interface

uses
  Windows, Messages, Classes, AudioSessionEvents;

const
  IID_IAudioSessionControl: TGUID = '{F4B1A599-7266-4319-A8CA-E70ACB11E8CD}';

type
  IAudioSessionControl = interface(IUnknown)
    ['{F4B1A599-7266-4319-A8CA-E70ACB11E8CD}']
    function GetState(out pRetVal: uint): HResult; stdcall;
    function GetDisplayName(out pRetVal: LPWSTR): HResult; stdcall;
    function SetDisplayName(Value: LPCWSTR; EventContext: pGuid): HResult; stdcall;
    function GetIconPath(out pRetVal: LPWSTR): HResult; stdcall;
    function SetIconPath(Value: LPCWSTR; EventContext: pGuid): HResult; stdcall;
    function GetGroupingParam(pRetVal: pGuid): HResult; stdcall;
    function SetGroupingParam(OverrideValue, EventContext: pGuid): HResult; stdcall;
    function RegisterAudioSessionNotification(const NewNotifications: IAudioSessionEvents)
      : HResult; stdcall;
    function UnregisterAudioSessionNotification(const NewNotifications: IAudioSessionEvents)
      : HResult; stdcall;
  end;

implementation

end.
Delphi-Quellcode:
unit AudioSessionControl2;

interface

uses
  Windows, Messages, Classes, AudioSessionControl;

const
  IID_IAudioSessionControl2: TGUID = '{bfb7ff88-7239-4fc9-8fa2-07c950be9c6d}';

type
  IAudioSessionControl2 = interface(IAudioSessionControl)
    ['{bfb7ff88-7239-4fc9-8fa2-07c950be9c6d}']
    function GetSessionIdentifier(out pRetVal: LPWSTR): Hresult; stdcall;
    function GetSessionInstanceIdentifier(out pRetVal: LPWSTR): Hresult; stdcall;
    function GetProcessId(out pRetVal: DWord): Hresult; stdcall;
    //indicates whether the session is a system sounds session.
    function IsSystemSoundsSession(): Hresult; stdcall;
    //S_OK = The session is a system sounds session.
    //S_FALSE = The session is not a system sounds session.
    function SetDuckingPreference(const optOut: Boolean): Hresult; stdcall;
    //A BOOL variable that enables or disables system auto-ducking.
  end;

implementation

end.
Delphi-Quellcode:
SessionControl2: IAudioSessionControl2;
....
    HR := AudioDevice.Activate(IID_IAudioSessionManager2, CLSCTX_ALL, nil, IUnknown(SessionManager2)
      );
    if Succeeded(HR) then
    begin
      HR := SessionManager2.GetSessionEnumerator(pEnumerator);
      if Succeeded(HR) then
      begin
        HR := pEnumerator.GetSession(Index, SessionControl);
        if Succeeded(HR) then
        begin
          HR := SessionControl.QueryInterface(IAudioSessionControl2, SessionControl2);
          if Succeeded(HR) then
gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.081 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:15
Zusatzfrage: Welchen Wert hat HR?
HR := SessionControl2.GetDisplayName(pDisplayName);
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:16
Zusatzfrage: Welchen Wert hat HR?
HR := SessionControl2.GetDisplayName(pDisplayName);
HR: HResult und ist immer 0 also ohne Fehler.

gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.081 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:20
Das mit dem unvollständigen Quelltext-Schnipseln ist mir so zu mühselig.
Lade bitte ein kleines Konsolenprojekt mit allen notwendigen Units und Dateien als ZIP-Archiv hoch.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:24
Das mit dem unvollständigen Quelltext-Schnipseln ist mir so zu mühselig.
Lade bitte ein kleines Konsolenprojekt mit allen notwendigen Units und Dateien als ZIP-Archiv hoch.
sorry nein keine unvollständigen Quellcodes.. hier hochzuladen das macht keinen sinn.
Schicke ihn dir aber gerne zu wenn ich eine Mail hätte.

gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.081 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:32
Das ist ein Forum.
Man stellt öffentlich Fragen und erhält öffentlich Antworten.
Es hätte keinen Sinn für nachfolgende Programmierergenerationen, wenn die eventuell folgende Lösung nur noch per internen Mailverkehr abläuft.

Ein kleines Beispielprogramm mit allen notwendigen Units wird ja möglich sein.
Anders machen das andere User ja auch nicht, wenn ihnen geholfen werden soll.
Mit den Quellcode Schnipseln kann ich bspw. nix anfangen, da ich weder die Unit AudioSessionEvents habe, noch die Definition von AudioDevice oder SessionManager2.
So ist das nur unvollständiges Stückwerk.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Das Handle ist ungültig

  Alt 2. Mai 2018, 11:35
Zitat:
Mit den Quellcode Schnipseln kann ich bspw. nix anfangen, da ich weder die Unit AudioSessionEvents habe, noch die Definition von AudioDevice oder SessionManager2.
So ist das nur unvollständiges Stückwerk.
War aber von dir so erwünscht
Ok macht ja nix muss mir dann selbst irgendwie weiter helfen. Danke

gruss
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz