ios开发连续手机震动(kSystemSoundID_Vibrate连续震动)

这篇博客介绍了如何在iOS应用中实现连续手机震动功能。通过调用AudioServices的相关API,并结合C++的单例模式和回调函数vibrateCallback,开发者可以控制设备进行连续震动。文中提到设置1秒延时后,设备大约能震动2次。关键步骤包括添加震动完成回调、播放系统声音和移除震动回调。
摘要由CSDN通过智能技术生成

最近做个功能,收到消息时要连续震动。之前都是调用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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值