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 系统声音

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

他们在那里说,尽管您必须使用称为 Celestial 框架的私有框架,但这是可能的。您可以AVSystemController像这样使电话静音:

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

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

希望这可以帮助!

于 2012-06-27T01:15:12.073 回答