我希望如此,当用户按下任一音量按钮时,应用会响应此操作并拍摄照片。
我已经完成了与此类似的操作,因为我添加了通知,当按下音量按钮时,我将其链接以执行拍摄照片的方法,但音量弹出窗口仍会显示。我怎么能像Snapchat在拍照时暂时禁用音量按钮?
这是我到目前为止的代码:
视图确实已加载
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:)
name:@"AVSystemController_SystemVolumeDidChangeNotification"
object:nil];
方法
-(IBAction)volumeChanged:(id)sender{
[self takePhotoFromDevice:nil];
}
答案 0 :(得分:0)
显示MPVolumeView
时,系统音量叠加被抑制。 MPVolumeView
是一个音量滑块 - 想想Apple Music,Spotify或类似的。
您可以添加一个作为子视图,但将其放置在屏幕外的某个位置:
@import MediaPlayer;
// In viewDidLoad
MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(-100, -100, 0, 0)];
[self addSubview:volumeView];
唯一需要注意的是,如果用户选择使用“设置”中的按钮选择更改铃声音量,则会显示铃声弹出窗口。