Nie mogę przesłonić kategorii lub portu AVAudioSession podczas odtwarzania dźwięku z WKWebView. Ten sam kod działa doskonale podczas korzystania z normalnego interfejsu UIWebView.Ustawienie kategorii AVAudioSession nie ma wpływu na dźwięk z WKWebView
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&err];
Próbowałem zostały również aktywację sharedInstance
takiego, ale to nie pomogło:
[session setActive: YES error: nil];
Powyższy kod nie ma wpływu na dźwięk płynący z WKWebView. Znalazłem kilka raportów na Twitterze, że iOS 8.1 miesza dźwięk WKWebView z dźwiękiem aplikacji w tle, ale nie mogłem znaleźć źródła tego. Zobacz ten wątek twitter dla odniesienia: https://twitter.com/marcoarment/status/530881842900373504
Czy chcesz, aby aplikacja nadal odtwarzała dźwięk w Internecie w tle? – dcorbatta
Nie, chcę przełączyć dźwięk do odtwarzania z głośnika na słuchawkę iz powrotem. –
Hi @LylePratt, spróbuj sprawdzić ewentualny błąd w '-setActive: error:' jeśli wystąpi błąd, wskaźnik jest ustawiony na obiekt NSError, który opisuje błąd. Czy jest możliwe, że inne obiekty audio (takie jak kolejki, konwertery, odtwarzacze lub nagrywarki) są obecnie uruchomione? – bl4stwave