最近做个功能,收到消息时要连续震动。之前都是调用AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); ,只震动一次。 下面的代码是连续震动的,不过与设置的延时时间有有关哟。我设置了1秒,大概只震动2下。
技术上需要注意的是:使用单例实现了c++的函数回调。
加入#import AVFoundation/AVFoundation.h
@implementation Manager
+ (Manager *)shared
{
static Manager *sharedInstance = nil ;
static dispatch_once_t onceToken;
dispatch_once (& onceToken, ^ {
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
– (id)init
{
if (self = [super init]) {
}
return self;
}
-
(void)addVibrate {
AudioServicesAddSystemSoundCompletion(kSystemSoundID_Vibrate, NULL, NULL, vibrateCallback, NULL);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
-
(void)removeVibrate {
[self performSelector:@selector(stop
版权声明:本文为nogodoss原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。