AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Das Handle ist ungültig

Ein Thema von EWeiss · begonnen am 2. Mai 2018 · letzter Beitrag vom 6. Mai 2018
 
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
988 Beiträge
 
Delphi 6 Professional
 
#32

AW: Das Handle ist ungültig

  Alt 4. Mai 2018, 11:37
Hmm..

Zitat:
Mein Problem ist das mit jedem erneuten start der Counter von
SessionEnumerator.GetCount(SessionCount);
um 1 erhöht wird.
Damit addiere ich Aktive und inaktive Session.
Zitat:
Ergebnis
(Getestet auf Win7 64bit mit D6)
- Windows scheint die AudioSessions zu cachen
- Nach 180 Sekunden (3 Minuten) werden die aus dem Cache entfernt.
- Eine aktive/existierende Session hat den State 1 (IAudioSessionControl.GetState())
- Wird die Applikation beendet, erhält diese umgehend den State 0, verbleibt aber in der Liste.
- Die PID der AudioSession gehört also zu keinem laufenden Process...
Windows cacht!!!!!!
Also, wenn Du deine App mit Audioausgabe innerhalb der 3 Minuten 'neu' startest, wird eine 'neue' Session (wg. neuer PID) angelegt, aber die alte ist auch noch da! Ich vermute, dass Windows cacht, da es Programme gibt, die die Audioausgabe nur 'unterbrechen' und dann mit gleicher PID wieder starten.

SessionCount beinhaltet immer alle Session, ob nun aktiv (State=1) oder deaktiv (State=0)!

Warte zwischen deinen Neustarts einfach mal 3+ Minuten.

Um (wie der Mixer) immer die aktuelle Liste anzuzeigen, musst Du diese immer wieder überprüfen und bereinigen/erweitern. Es genügt nicht, diese beim Programstart einzulesen.
Für das Testtool habe ich die Liste alle 500ms abgefragt..

<quote>
Das bekomme ich erst gar nicht es fehlt mir warum auch immer.
<quote>
SessionCount: 1
---------------------------------------------------
SessionIdentifier: {0.0.0.00000000}.{8aa1d6e2-aca1-4ae5-a835-6c0dbea6b990}|#%b{A9EF3FD9-4240-455E-A4D5-F2B3301887B2}
InstanceIdentifier: {0.0.0.00000000}.{8aa1d6e2-aca1-4ae5-a835-6c0dbea6b990}|#%b{A9EF3FD9-4240-455E-A4D5-F2B3301887B2}|1%b#
ProcessId: 0
DisplayName: @%SystemRoot%\System32\AudioSrv.Dll,-202
IconPath: @%SystemRoot%\System32\AudioSrv.Dll,-203
IsSystemSoundsSession: 0
State: 0
</quote></quote>

Da Du State 0 aussortiertst, sollte dass auch so sein!
  Mit Zitat antworten Zitat
 


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 23:11 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