Używam AudioSessionSetActive
(true) i AudioSessionSetActive
(false) do ustawiania AudioSession
na wartość true lub false w mojej aplikacji na iOS. W dowolnym momencie chcę sprawdzić, czy sesja jest aktywna, czy nie. Czy jest jakiś sposób na zrobienie tego?jak się dowiedzieć, czy sesja audio jest aktywna w iOS
Odpowiedz
Wpadłem na to samo! Nie ma klucza AudioSessionProperty dla sprawdzenia, czy sesja jest aktywna. Sądzę, że jest to jedna z tych, które ją ustawiają i zapominam, że zajmuje się sytuacjami, w których Apple uważa, że aplikacje powinny zachowywać się w określony sposób. Na przykład. większość aplikacji nie musi znać stanu, w którym powinna je ustawić, ponieważ wymaga dźwięku i zabija go bezwarunkowo, gdy są odtwarzane. Oczywiście to działa tylko dla 90%. Przepraszam, bo to nie jest najlepsza odpowiedź, zgłaszam tylko moje podejrzenia. Może inni mają lepszy pomysł?
Można sprawdzić, czy odtwarzany jest dowolny dźwięk, tak jak został uruchomiony przez inną aplikację, sprawdzając właściwość otherAudioPlaying
po uruchomieniu aplikacji. W przypadku śledzenia wewnętrznego prawdopodobnie można użyć wartości logicznej podczas wykonywania połączenia AudioSessionSetActive(BOOL setActive)
. Chociaż użycie BOOL nie brzmi jak wspaniałe podejście. Biorąc pod uwagę moją obecną wiedzę, nie mogłem znaleźć innego sposobu określenia, czy AudioSession jest aktywna, czy nie.