私は様々な見解を持つアプリを持っています。 メインメニューにはサウンドはありませんが、次のビューはAVAudioPlayerクラスを使用してサウンドを再生します。iPhoneアプリケーションにサウンドを追加する標準的な方法(グローバルボリュームインジケータ)
だから、誰かがアプリを起動すると、彼は彼のデバイスの音量を変更した場合、彼が実際に「リンガー」ボリュームを変更し、メインメニューです。他のビュー(サウンドがある場所)に進むと、デバイスの音量を変更すると、は音量ではなく、の音量に変更されます。
アプリボリュームを毎回、アプリの始めから、AVAudioPlayerのインスタンスを作成する前に変更する方法はありますか? (これは誤解されています。つまり、音量ボタンを押すたびにOSが画面上にオーバーレイするということです。ホーム画面にいる場合は、「リンガー」を変更します。アプリの音量を変更してください)。
PS: 私のメインメニューでAudioSessionを初期化しても、違いはありません。 唯一のハック私は実際に私のメインメニューでAVAudioPlayerのインスタンスを作成し、 "preparedToPlay"に設定することが判明しました。しかし、私はむしろ他人がやっていることを聞いています(適切な解決策)。
私の質問は誤解されていると思います...私はおそらくそれを言い換える必要があります...私はボリュームを変更するスライダーをユーザーに与えたくありません。しかし、彼らが(デバイスの側面にあるボタンから)音量を変更するとき、私はそれが "リンガーボリューム"の代わりに "アプリケーションボリューム"を変更することを欲しい。 – Dimitris
編集された回答を参照してください – lostInTransit
ああ、大丈夫です。だから、私のハック*は実際に他の人がやっていることです... ありがとう。 – Dimitris