最近、VoIP アプリケーションを iOS7 に移行しましたが、理解できない未解決のバグがまだ残っています。
iOS6 では、VoIP 通話中に物理音量ボタンを押して、音量をゼロまで下げることができます。
さて、iOS7では音をゼロの手前までしか下げられないので、音量をミュートすることはできません。
iOS6デバイスで同じIPAに問題がないため、これはiOS7側にあると思われます。
何が起きているか知っている人はいますか?
システムの音量を設定するには、iPodMusicPlayer の代わりに applicationMusicPlayer を使用する必要があります。
#import <MediaPlayer/MediaPlayer.h>
musicPlayer = [MPMusicPlayerController applicationMusicPlayer];
musicPlayer.volume = 1; // max volume
musicPlayer.volume = 0; // min volume (mute)
musicPlayer.volume = 0.0625; // 1 bar on the overlay volume display
Apple は、ボリュームを管理する必要があるすべての方法を知っていると想定しています。
実際、ユーザーに画面上に音量スライダーを強制することなく、音量の制御方法を変更したい場合があります (目覚まし時計やメディア プレーヤーがすぐに思い浮かびます)。参考にできます