2009-04-17 5 views
0

Ich benutze AVAudioPlayer, um Sounds in einem Spiel zu spielen. Wenn der Benutzer das Gerät sperrt, pausiere ich das Spiel (und sende es an eine Wiederaufnahmeansicht) und möchte, dass alle Töne aufhören zu spielen.AVAudioPlayer, Audio-Sitzung Kategorien und Sperre

Da jedoch die Wiederaufnahmeansicht dieselbe ist, die ich beim Laden eines gespeicherten Spiels verwende, löst diese Ansicht einen Ton mit einem AVAudioPlayer aus. Wenn dies bei gesperrtem Bildschirm geschieht, ist der Ton hörbar, obwohl ich die Audiositzung auf kAudioSessionCategory_SoloAmbientSound einstelle.

Kann jemand alle Töne stoppen, selbst wenn AVAudioPlayer play aufgerufen wird?

Ich habe versucht, diese Methode aufrufen:

AudioSessionSetActive(false) 

aber es hat nicht geholfen.

Update: Ich gründe derzeit das Volumen auf 0,0, wenn das Gerät gesperrt ist, aber ich wollte wissen, ob es eine eingebaute Möglichkeit, über AudioSessions war usw.

Danke

Antwort

0

Der beste Weg, den ich finden könnte, ist, die Lautstärke bei Lock-Ereignissen auf 0 zu setzen und sie wiederherzustellen, wenn das Gerät entsperrt wird.