5

重複の可能性:
iOSデバイスをプログラムでミュート/サイレンスしますか?

プログラムでデバイスの音量をオフにする必要があります。誰かが方法を知っていますか?

これまでのところ、AudioSessionSetProperty()関数を使用して、プロパティ "kAudioSessionProperty_CurrentHardwareOutputVolume"を使用できる可能性があることを発見しましたが、このプロパティは読み取り専用です。だから私はこれがうまくいくかどうかわかりません:

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

これを行うアプリはすでにApp-Storeにあります(例:AutoSilent)。

http://itunes.apple.com/nl/app/autosilent/id474777148?mt=8

4

2 に答える 2

3

これは iOS ではできません。iOS デバイスをミュートする唯一の方法は、ハードウェア スイッチを使用することです。それを検出してそれに応じてアプリをミュートすることはできますが、アプリからデバイス全体をミュートすることはできません。

于 2012-06-26T22:14:37.670 に答える
0

この質問を参照してください: iOS システム サウンドを無効にする方法

そして、この質問:プログラムで iOS デバイスをミュート/サイレンスしますか?

彼らは、Celestial フレームワークと呼ばれるプライベート フレームワークを使用する必要がありますが、それは可能であると言っています。AVSystemController次のように電話を無音にするために使用します。

[[AVSystemController sharedAVSystemController] setVolumeTo:0 forCategory:@"Ringtone"];

アプリでプライベート フレームワークを使用すると、Apple によって拒否されるため、使用はお勧めしません。アプリでプライベート フレームワークを使用することは、最初は Apple によって許可される可能性があると考えている人もいますが (見逃した場合)、プライベート フレームワークを使用していることに気付いた時点で、すぐに App Store から削除されるでしょう。

お役に立てれば!

于 2012-06-27T01:15:12.073 に答える