2012-04-29 13 views
4

私のアプリケーション内からデバイスの呼び出し音をミュートしようとしていますが、何らかの理由でAVSystemControllerを使ってこの回答(How to disable iOS System Sounds)のようにデバイスを静かに沈黙させることはできません。 1バー、完全にサイレントではない。iOSデバイスをプログラムによってミュート/消音しますか?

AVSystemControllerのようなプライベートAPIを使用している可能性があります。ユーザーがアプリのこの種の機能を期待している場合、アップルは引き続きアプリを承認することがわかります(既に2つのアプリがあるため)App Storeのでは、jailbreakingなどを必要としないでプログラムでデバイスをミュートすることができます)。

これらのアプリは、ボリュームをゼロにするだけでなく、実際にはミュートを実際に切り替えます。

誰もがこれが行われている方法を知っていますか?

ご協力いただきますようお願い申し上げます。ありがとう!

+0

これはあなたが何かを試しているかのように多くの音を出します。ほとんどのユーザーは、同意なしにアプリが行うことを好まないでしょう。私はこれが実行可能ではないことをスティーブに祈っています。 – Till

+1

http://stackoverflow.com/questions/7828958/can-an-ios-app-switch-the-device-to-silent-mode – Roshit

+1

私がしようとしていることは、あなたが入ったときに自動的にデバイスを消音することです会議(plzはアイデアを盗むことはありません)。ユーザーはそれを愛し、Steveの名前は無駄にしないでください。 –

答えて

1

これは私のために働いた、私はゲームのサウンドのオンとオフを切り替えるボタンがあります。サウンドをオンにしたいときはフロートを10に設定し、サウンドをオフにしたいときは0に設定します。

float value = 0.0f; 
AudioSessionSetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, sizeof(float), &value); 

アップデート:まだiOSの9.1スウィフトのために

float vol = [[AVAudioSession sharedInstance] outputVolume]; 
NSLog(@"output volume: %1.2f dB", 20.f*log10f(vol+FLT_MIN)); 

で作業している

別のオプション:アップデートの

let volume = AVAudioSession.sharedInstance().outputVolume 
print("Output volume: \(volume)") 

ソースは答える:Get System Volume iOS

+0

iOS 8x –

+1

で廃止されましたoutputVolumeは読み取り専用プロパティです。変更することはできません。 –

関連する問題