使用音量按钮拍照
Take picture with volume button
我正在开发一个具有某些相机功能的应用程序,我想使用音量按钮拍照(就像 Apple 相机应用程序一样)。
使用 MPVolumeView
和这个片段:
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。
这个技巧有效除非设置 > 声音中的设置 "Change with Buttons" 已打开。在那种情况下,我仍然会收到通知,但 HUD 会出现。
知道如何在该设置打开时隐藏 HUD 吗?
我确定 JPSVolumeButtonHandler 在 GitHub 上可用
Hide the HUD typically displayed on volume button presses.
我发现解决方法在这里,但它与您的解决方案相似:
- (void)disableVolumeHUD
{
self.volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(MAXFLOAT, MAXFLOAT, 0, 0)];
[[[[UIApplication sharedApplication] windows] firstObject] addSubview:self.volumeView];
}
我建议查看此存储库,它运行良好,我想
时也请阅读说明
the setting "Change with Buttons" in Settings > Sounds is on
我正在开发一个具有某些相机功能的应用程序,我想使用音量按钮拍照(就像 Apple 相机应用程序一样)。
使用 MPVolumeView
和这个片段:
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。
这个技巧有效除非设置 > 声音中的设置 "Change with Buttons" 已打开。在那种情况下,我仍然会收到通知,但 HUD 会出现。
知道如何在该设置打开时隐藏 HUD 吗?
我确定 JPSVolumeButtonHandler 在 GitHub 上可用
Hide the HUD typically displayed on volume button presses.
我发现解决方法在这里,但它与您的解决方案相似:
- (void)disableVolumeHUD
{
self.volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(MAXFLOAT, MAXFLOAT, 0, 0)];
[[[[UIApplication sharedApplication] windows] firstObject] addSubview:self.volumeView];
}
我建议查看此存储库,它运行良好,我想
时也请阅读说明the setting "Change with Buttons" in Settings > Sounds is on