我正在使用自定义闹钟应用程序,想要在闹钟播放后立即在我的应用程序中使用Vibration,我使用了AudioToolbox并使用了以下代码:
AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
它有效,但我想在我的应用程序中持续运行振动。
有没有办法实现这个?
答案 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))
}