ios - 如何使用音量按钮使用自定义相机拍照?

标签 ios camera avfoundation volume

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

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

这是我目前的代码:

查看是否加载

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

方法

-(IBAction)volumeChanged:(id)sender{

[self takePhotoFromDevice:nil];

}

最佳答案

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

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

@import MediaPlayer;

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

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

关于ios - 如何使用音量按钮使用自定义相机拍照?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34441292/

相关文章:

ios - UICollectionView:使用 UIStackView 的动态单元格高度

自定义键盘扩展中的 iOS8 UIImagePickerController

java - Android:没有预览就拍照:java.lang.RuntimeException:takePicture 失败

opencv - 如何在opencv中访问红外传感器图像

ios - 在iOS上使用AVComposition混合两个音频文件

iOS、CloudKit - 我的应用程序启动时是否需要进行提取?

ios - 试图使UIAlertController似乎无法初始化

iphone - 在 UINavigationController 中推送同一类 View Controller 的不同对象

ios - iPhone X swift 4 中的 setExposureModeCustom 崩溃

ios - 如何使 AVPlayer 和 AVPlayerLayer 可滚动(AVFoundation)