ios - AVCaptureSession startRunning 正在取消静音设备

标签 ios objective-c cocoa-touch avcapturesession

我的应用程序有各种按钮和其他操作的声音效果,如果设备静音/无声,它们不会按预期发出声音。但是,其中一个屏幕进行视频录制,如果导航到该屏幕,则可以在应用程序的任何位置启用所有音效。通过注释掉一些东西,我确定是 startRunning 函数执行此操作 - 我不确定这是否只是正常行为,因为启动相机会启用相关的东西,比如音频,或者如果发生了一些我可以更改的奇怪事情.

最佳答案

如果您正在录制视频,您很可能会使用 AVAudioSessionCategoryPlayAndRecord类别。根据设计,此类别将始终忽略设备侧面的静音开关。 See here用于所有 AVAudioSession 类别的定义。简而言之,使用此音频类别时无法尊重静音开关。因此,也许当您离开该屏幕时,您应该将 Audio Session 类别设置为其他类型,例如 AVAudioSessionCategoryAmbient如果这不会影响您的应用程序。

关于ios - AVCaptureSession startRunning 正在取消静音设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26285741/

相关文章:

ios - 带有文本字段的 UIAlertView 在 iOS 8 中不弹出键盘

ios - 导航栏中的标题太长

ios - 显示可缩放 map 的正确方法是什么?

ios - Spotify iOS SDK - 无后台播放

objective-c - 链接 UIView 和 UIViewController 的最佳方式

objective-c - 为什么使用 Core Data 的人想要在同一个托管对象模型中使用多个持久存储?

iphone - 我怎么能欺骗 [CALayer renderInContext : ] to render only a section of the layer?

iphone - 使用 loadView 创建 View 时, View 的框架大小在旋转时不会改变

objective-c - 延迟 -(id)init 实例;是否可以?

iphone - 如何将 UIBarButtonItem 放置在 UIToolbar 的右侧?