iOS手机振动反馈

iOS手机振动反馈

/**
 震动手机
 
 @param type 震动类型,1:长震动,0:短震动
 */
- (void)vibrateWithiVbrateType:(YTVibrateType)type {
    AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
    switch (type) {
        case YTVibrateTypeShort:
        {
            AudioServicesAddSystemSoundCompletion(kSystemSoundID_Vibrate, NULL, NULL, systemAudioCallback, NULL);
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);
            });
        }
            break;
        case YTVibrateTypeLong:
        {
            AudioServicesAddSystemSoundCompletion(kSystemSoundID_Vibrate, NULL, NULL, systemAudioCallback, NULL);
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.4 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);
            });
        }
            break;
            
        default:
            break;
    }
}

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

推荐阅读更多精彩内容