用音量键拍照
Posted
技术标签:
【中文标题】用音量键拍照【英文标题】:Take picture with volume button 【发布时间】:2015-10-09 08:25:16 【问题描述】:我正在开发一个带有一些相机功能的应用,我想使用音量按钮拍照(就像 Apple 相机应用一样)。
使用MPVolumeView
和这个sn-p:
let rect = CGRect(x: -500, y: -500, width: 0, height: 0)
let volumeView = MPVolumeView(frame: rect)
UIApplication.sharedApplication().windows.first?.addSubview(volumeView)
并注册到AVSystemController_SystemVolumeDidChangeNotification
通知我可以在按下按钮时拦截并避免显示音量 HUD。
此技巧有效除非“设置”>“声音”中的“使用按钮更改”设置已打开。在这种情况下,我仍然会收到通知,但会出现 HUD。
知道如何在启用该设置时隐藏 HUD 吗?
【问题讨论】:
【参考方案1】:我确定GitHub 上可用的 JPSVolumeButtonHandler 可以
隐藏通常在按下音量按钮时显示的 HUD。
我发现解决方法在这里,但它与您的解决方案相似:
- (void)disableVolumeHUD
self.volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(MAXFLOAT, MAXFLOAT, 0, 0)];
[[[[UIApplication sharedApplication] windows] firstObject] addSubview:self.volumeView];
我建议看看这个存储库,它工作得很好,我想也可以阅读描述
“设置”>“声音”中的“使用按钮更改”设置已开启
【讨论】:
即使在“使用按钮更改”设置打开的情况下也能正常工作吗?稍后我会看看 repo 对不起,我不知道更多,现在我不能尝试 显然,如果我使用该类,它就可以工作。我想知道我的代码中缺少什么。 您发布的三行似乎没问题,因此您需要检查代码中的其他行;也许这只是一个小错误。以上是关于用音量键拍照的主要内容,如果未能解决你的问题,请参考以下文章