以编程方式静音/静音iOS设备?

时间:2012-04-29 10:11:04

标签: iphone ios ios5 mute avsystemcontroller

我正试图在我的应用程序中静音设备的铃声,但出于某些原因使用AVSystemController就像在这个答案(How to disable iOS System Sounds)中一样,我不会让设备一直静音......它会掉落它的体积为1巴,但并非完全无声。

我知道可以使用像AVSystemController这样的私有API,我知道如果用户期望从应用程序中获得这种功能,Apple仍然会批准该应用程序(因为我找到了2个应用程序在App Store ,它以编程方式静音设备,无需越狱或类似的东西)。

这些应用程序实际上做得更好 - 它们实际上切换了实际的静音,而不仅仅是将音量降低到零。

有谁知道这样做的方式?

任何帮助将不胜感激!谢谢!

1 个答案:

答案 0 :(得分: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));

对于Swift:

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

更新来源回答:Get System Volume iOS