swift3.0+实现持续震动和取消震动

只是简单的实现功能,使用GCD延迟循环调用,主要是swift对gcd写法的改变,可以写个单例,全局调用,方法内部可以自定义系统声音等,这就不写了,只有震动效果,直接上代码:


//开始持续震动

func startSystemVibrate() {

AudioServicesAddSystemSoundCompletion(kSystemSoundID_Vibrate, nil, nil, { (sound,_)  in

let additionalTime: DispatchTimeInterval = .seconds(1)

DispatchQueue.main.asyncAfter(deadline: .now() + additionalTime, execute: {

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

})

}, nil);

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);

}


//结束持续震动

func stopSystemVibrate() {

AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);

AudioServicesDisposeSystemSoundID(kSystemSoundID_Vibrate);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容