Hmm.
Zitat:
Da Du State 0 aussortiertst, sollte dass auch so sein!
Ich sortiere ihn nicht aus was ich aussortiere ist State 2 = AudioSessionStateExpired
Alles andere wird zugelassen.
Also, laut meinen Test gibt es nur State 0 und 1, wobei 1 derjenige ist, wenn die App läuft.
Zitat:
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..
Und dann alle 500ms Sekunden meine Controls neu erstellen.. boahh das wird wohl ein Unding.
Ich habe dafür Events erstellt die das eigentlich für mich regeln sollen.
Und da gibt es auch ein Problem es feuert nur ab wenn ich meine Sound Anwendung beende.
Ich kann dann darauf reagieren und das jeweilige Control entladen aber wenn die Anwendung neu gestartet wird feuert das Event nicht ab.
Du brauchst nicht immer 'alle' neu zu machen, sondern nur die, welche nicht mehr vorhanden sind entfernen und jene, welche neu gestartet wurden hinzufügen..
Somit sollte deine App eigentlich beim Programmstart einmal alle Sessions durchgehen und die PIDs mit State 1 merken (und wenn ich es richtig verstanden habe ein Control jeweils erzeugen).
Dann sollte entweder im Intervall geprüft werden, ob deine Liste noch gültig ist und die PIDS /Controls entfernen/hinzufügen, welche sich geändert haben.
Wenn es seitens MS ein Event gibt, wenn eine andere App gestartet/beendet wurde, könnte diese auch als Trigger verwendet werden.
Jedoch wird es auch Apps geben, die ohne sich selbst zu beenden die AudiSession schließen.
Von welchen Events lässt Du dich denn benachrichtigen?