关闭设备音量 - iOS

时间:2012-06-26 21:52:45

标签: iphone ios ios5 audio ios4

  

可能重复:
  Mute/Silence an iOS device programmatically?

我需要以编程方式关闭设备卷。有谁知道吗?

到目前为止,我发现,也许我可以使用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

2 个答案:

答案 0 :(得分:3)

你不能用iOS做到这一点。将iOS设备静音的唯一方法是使用硬件开关。您可以detect it相应地静音您的应用,但无法通过您的应用静音整个设备。

答案 1 :(得分:0)

请参阅此问题:How to disable iOS System Sounds

这个问题:Mute/Silence an iOS device programmatically?

他们说有可能虽然你必须使用一个名为Celestial框架的私有框架。您可以使用AVSystemController使手机静音:

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

在您的应用中使用私有框架会导致它被Apple拒绝,因此我不建议您使用它。有些人认为Apple最初可能会允许在您的应用中使用私有框架(如果他们错过了),但当他们意识到您正在使用私有框架时,很快就会从App Store中删除它。

希望这有帮助!