Ich habe eine App mit verschiedenen Ansichten. Das Hauptmenü hat keine Sounds, aber die nächsten Ansichten spielen Sounds mit der AVAudioPlayer-Klasse.Standardmethode zum Hinzufügen von Sound zu einer iPhone App (globale Lautstärkeanzeige)
Also, wenn jemand die App startet und ist in dem Hauptmenü, wenn er die Lautstärke auf seinem Gerät ändert, ändert er tatsächlich die „Ringer“ Volumen. Wenn er zu den anderen Ansichten weitergeht (wo wir Ton haben), wenn er die Lautstärke auf dem Gerät ändert, ändert er das Volumen des Spiels, nicht der Wecker.
Gibt es eine Möglichkeit, sie haben die App-Volumen jedes Mal, von Anfang meiner App, bevor ich irgendwelche Instanzen von AVAudioPlayer ?? (einige missverstanden das. Was ich meine, ist das Quadrat, dass das Betriebssystem überlagert auf dem Bildschirm jedes Mal drücken Sie die Lautstärketasten. Wenn Sie auf dem Startbildschirm sind, ändern Sie den "Klingelton". Wenn Sie in einem Spiel sind Ändern Sie die Lautstärke der App).
PS: Ich initialisiere die AudioSession auf meinem Hauptmenü, aber das macht keinen Unterschied. Die einzige hack Ich habe gefunden, ist eine Instanz von AVAudioPlayer in meinem Hauptmenü erstellen und legen Sie es auf "preparedToPlay". Aber ich würde lieber hören, was die anderen machen (eine richtige Lösung).
Ich denke, meine Frage ist missverstanden ... Ich muss es wahrscheinlich umformulieren ... Ich möchte den Benutzern keinen Schieberegler geben, um die Lautstärke zu ändern. Aber wenn sie die Lautstärke ändern (von den Tasten auf der Seite des Gerätes) möchte ich das "App Volume" anstelle der "Ruftonlautstärke" ändern. – Dimitris
Ok. siehe bearbeitete Antwort – lostInTransit
Ah, ok. Also mein * Hack * ist eigentlich was andere auch machen ... Danke. – Dimitris