AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)

时间:2016-03-31 09:10:36

标签: ios objective-c xcode7 audiotoolbox

我正在使用自定义闹钟应用程序,想要在闹钟播放后立即在我的应用程序中使用Vibration,我使用了AudioToolbox并使用了以下代码:

AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))

它有效,但我想在我的应用程序中持续运行振动。

有没有办法实现这个?

2 个答案:

答案 0 :(得分:1)

您可以使用NSTimer并调用包含振动代码的函数,当您想要停止它时,您可以调用NSTimer的发布方法。

示例代码:

    NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 2.0
                                                  target: self
                                                selector:@selector(onTick:)
                                                userInfo: nil repeats:NO];

    -(void)onTick:(id)sender{

        AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))

    }

此代码会连续振动设备,延迟时间为2秒。 当你想要停止振动时,你可以调用释放方法。

Ex. [t release];

答案 1 :(得分:1)

您必须重复振动请求。

NSTimer * timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(repeat :) userInfo:nil repeats:NO];

-(void)repeat:(id)sender{

  AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))

}