检测音量按钮按下并释放iOS

时间:2013-01-14 06:33:50

标签: ios objective-c cocoa-touch

  

可能重复:
  program access to iPhone volume buttons

是否可以在iOS应用中检测音量增大按钮按下/释放?

2 个答案:

答案 0 :(得分:5)

您可以在应用程序中检测音量按钮按下,但它使用Apple的私有API。由于他们不允许您在您的应用程序中使用他们的私有API,因此直接导致拒绝您的应用程序,因此使用此风险需要您自担风险。

viewDidLoad:中,例如:

MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame:CGRectMake(18, 340, 284, 23)];
[self.view addSubview:volumeView];

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

答案 1 :(得分:3)

查看http://fredandrandall.com/blog/2011/11/18/taking-control-of-the-volume-buttons-on-ios-like-camera/

基本上,您必须初始化音频会话,使其处于活动状态,然后监听更改。最后你发起一个回调。

但是,请注意硬件命令的实现。无意的误用可能会让你被禁止进入应用程序商店。