我需要以编程方式关闭设备卷。有谁知道吗?
到目前为止,我发现,也许我可以使用AudioSessionSetProperty()函数,并使用属性“kAudioSessionProperty_CurrentHardwareOutputVolume”, 但这个属性只是只读。所以我不确定这是否有效:
float value = 0.0f;
AudioSessionSetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, sizeof(float), &value);
App-Store中已有应用程序执行此操作,例如: AutoSilent:
答案 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中删除它。
希望这有帮助!