【问题标题】:How to use volume button to take a photo with a custom camera?如何使用音量按钮使用自定义相机拍照?
【发布时间】:2015-12-23 18:02:23
【问题描述】:

我希望这样当用户按下任一音量按钮时,应用都会响应此操作并拍照。

我已经完成了与此类似的事情,因为我添加了一个通知,当按下音量按钮时,我将其链接以执行拍照方法,但音量弹出窗口仍然显示。如何像 Snapchat 那样在拍照时暂时禁用音量按钮?

这是我目前的代码:

视图已加载

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:)
                                             name:@"AVSystemController_SystemVolumeDidChangeNotification"
                                           object:nil];

方法

-(IBAction)volumeChanged:(id)sender{

[self takePhotoFromDevice:nil];

}

【问题讨论】:

  • 我可能是错的,但我相信 Apple 会拒绝应用商店中任何将硬件用于其不应该做的事情的应用。
  • 公平,但是大量的相机应用程序(包括他们自己的相机)可以做到这一点。
  • 是的,有一个成功的解决方法。苹果提出的唯一条件是音量键的主要功能不能被遮挡。
  • 你有隐藏系统音量UI的解决方案吗?

标签: ios camera avfoundation volume


【解决方案1】:

当显示MPVolumeView 时,系统卷覆盖被抑制。 MPVolumeView 是一个音量滑块——想想 Apple Music、Spotify 或类似的。

您可以添加一个作为子视图,但将其放置在屏幕外的某个位置:

@import MediaPlayer;

// In viewDidLoad
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(-100, -100, 0, 0)];
[self addSubview:volumeView];

这里唯一需要注意的是,如果用户选择使用“设置”中的按钮更改铃声音量,则会显示 铃声 弹出窗口。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多