我正在尝试从我的应用程序中静音设备的铃声,但出于某种原因,使用 AVSystemController 就像这个答案(如何禁用 iOS 系统声音)不会让我让设备一直静音..它会将其降低到音量为 1 bar,但并非完全静音。
我知道这是可以做到的,可能使用像 AVSystemController 这样的私有 API,而且我知道如果用户期望应用程序提供这种功能,Apple 仍然会批准该应用程序(因为我在 App Store 中已经找到了 2 个应用程序以编程方式使设备静音,无需越狱或类似操作)。
这些应用程序实际上做得更好 - 它们实际上切换了实际的静音,而不仅仅是将音量降低到零。
有谁知道这是怎么做的?
任何帮助将不胜感激!谢谢!
可能重复:
以编程方式静音/静音iOS设备?
我需要以编程方式关闭设备卷.有谁知道吗?
到目前为止,我发现,也许我可以使用AudioSessionSetProperty()函数,并使用属性"kAudioSessionProperty_CurrentHardwareOutputVolume",但此属性只是只读.所以我不确定这是否有效:
float value = 0.0f;
AudioSessionSetProperty(kAudioSessionProperty_CurrentHardwareOutputVolume, sizeof(float), &value);
Run Code Online (Sandbox Code Playgroud)
App-Store中已有应用程序执行此操作,例如AutoSilent: