【问题标题】: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 吗?

【问题讨论】:

    标签: ios mpvolumeview


    【解决方案1】:

    我确定GitHub 上可用的 JPSVolumeButtonHandler 可以

    隐藏通常在按下音量按钮时显示的 HUD。

    我发现解决方法在这里,但它与您的解决方案相似:

    - (void)disableVolumeHUD 
    {
        self.volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(MAXFLOAT, MAXFLOAT, 0, 0)];
        [[[[UIApplication sharedApplication] windows] firstObject] addSubview:self.volumeView];
    }
    

    我建议看看这个存储库,它工作得很好,我想也可以阅读描述

    “设置”>“声音”中的“使用按钮更改”设置已开启

    【讨论】:

    • 即使在“使用按钮更改”设置打开的情况下也能正常工作吗?稍后我会看看 repo
    • 对不起,我不知道更多,现在我不能尝试
    • 显然,如果我使用该类,它就可以工作。我想知道我的代码中缺少什么。
    • 您发布的三行似乎没问题,因此您需要检查代码中的其他行;也许这只是一个小错误。
    猜你喜欢
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多