我的应用程序有各种按钮和其他操作的声音效果,如果设备静音/无声,它们不会按预期发出声音。但是,其中一个屏幕进行视频录制,如果导航到该屏幕,则可以在应用程序的任何位置启用所有音效。通过注释掉一些东西,我确定是 startRunning 函数执行此操作 - 我不确定这是否只是正常行为,因为启动相机会启用相关的东西,比如音频,或者如果发生了一些我可以更改的奇怪事情.
最佳答案
如果您正在录制视频,您很可能会使用 AVAudioSessionCategoryPlayAndRecord
类别。根据设计,此类别将始终忽略设备侧面的静音开关。 See here用于所有 AVAudioSession 类别的定义。简而言之,使用此音频类别时无法尊重静音开关。因此,也许当您离开该屏幕时,您应该将 Audio Session 类别设置为其他类型,例如 AVAudioSessionCategoryAmbient
如果这不会影响您的应用程序。
关于ios - AVCaptureSession startRunning 正在取消静音设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26285741/