【问题标题】:AVCaptureSession startRunning is unmuting deviceAVCaptureSession startRunning 是取消静音设备
【发布时间】:2014-10-09 18:41:11
【问题描述】:
我的应用程序对按钮和其他操作有各种音效,如果设备静音/静音,它们不会发出预期的声音。但是,其中一个屏幕会进行视频录制,如果导航到该屏幕,则会启用应用程序中所有位置的所有声音效果。通过注释掉一些事情,我确定这是 startRunning 函数执行此操作 - 我不确定这是否只是正常行为,因为启动相机会启用相关的东西,比如音频,或者是否有一些奇怪的事情我可以改变.
【问题讨论】:
标签:
ios
objective-c
cocoa-touch
avcapturesession
【解决方案1】:
如果您正在录制视频,您很可能会使用AVAudioSessionCategoryPlayAndRecord 类别。根据设计,此类别将始终忽略设备侧面的静音开关。 See here 用于所有 AVAudioSession 类别的定义。简而言之,使用此音频类别时无法尊重静音开关。因此,也许当您离开该屏幕时,您应该将音频会话类别设置为 AVAudioSessionCategoryAmbient 之类的其他内容,如果这不会影响您的应用。