2016-02-09 10 views
6

私は何時間も探していましたが、iPhone着信音がサイレントモードであるかどうかを検出する方法を説明するAPIは見つかりませんでした。iOSデバイスがサイレントモードになっているかどうかを検出するにはどうすればよいですか?

iPhone Ringer Switch

私はiOSデバイスのサイレントモードをオンまたはスウィフトコードを使用してオフであるかどうかを調べることができますとにかくあります:これは私が話して何ですか?私は特にiOS8以上のものが廃止されて以来、iOS8以上を探しています。ありがとう。

+0

uは私が持っているこのhttp://stackoverflow.com/a/20992650/5362916 –

+0

を確認したときに、トップの答えは、Appleはまだそれを構築していないと述べました。しかし、私はSnapchatや他のアプリがミュートボタンがオン/オフのときにビデオの再生をミュート/ミュート解除するのを見ました。どうやってやっているの?また、その答えはiOS 4のためだった... @Uma – BunkBedNoob

答えて

6

私はそこにいるとは思わないし、おそらく、デバイスがミュートされているかどうかを検出するためにAPIを直接呼び出す必要はありません。あなたが知っておく必要があることはこれです:

サウンドを再生すると、あなたのようなものでしょう:{AVAudioSessionCategory}

 try AVAudioSession.sharedInstance().setCategory({AVAudioSessionCategory}) 
     try AVAudioSession.sharedInstance().setActive(true) 
     audioPlayer = try AVAudioPlayer(contentsOfURL: alertSound) 
     audioPlayer.prepareToPlay() 
     audioPlayer.play() 

を、あなたが指定することができます。

AVAudioSessionCategorySoloAmbient:あなたのオーディオが消音されます画面で ロックとサイレントスイッチ

AVAudioSessionCategoryPlayBack:音声はSilentと続きます スイッチがサイレントに設定したり、画面をロック

+0

これは多くの助けになります。それは私が欲しかった正確な解決策ではありませんが、これは私のアプリの動作を形作ることができます。ありがとう、ガイ! – BunkBedNoob

+0

素晴らしい!ハッピーコーディング:) –

+1

現在再生されているビデオがある場合、それはミュートされていることをどのように検出しますか? –

関連する問題