iOS 播放系统提示音和震动

准备工作:  

        首先应当引入系统库: AudioToolbox.framework . 

        引用: #import <AudioToolbox/AudioToolbox.h> 头文件.

1、播放系统自带的提示声

 AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);  // 震动

 AudioServicesPlaySystemSound(1007); //这个声音是是类似于QQ声音的   


2、播放自定义的提示声,既有声音也带振动

- (void)playNotifySound {
    //获取路径
    NSString *path = [[NSBundle mainBundle] pathForResource:@"candoNotifySound" ofType:@"mp3"];
    //定义一个SystemSoundID
    SystemSoundID soundID;
    //判断路径是否存在
    if (path) {
        //创建一个音频文件的播放系统声音服务器
        OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)([NSURL fileURLWithPath:path]), &soundID);
        //判断是否有错误
        if (error != kAudioServicesNoError) {
            NSLog(@"%d",(int)error);
        }
    }
    //播放声音和振动
    AudioServicesPlayAlertSoundWithCompletion(soundID, ^{
        //播放成功回调
    });
}

3、只有声音不带振动

//必须得是自定义的声音,经过测试系统的声音好像都带振动
- (void)playNotifySound {
    //获取路径
    NSString *path = [[NSBundle mainBundle] pathForResource:@"candoNotifySound" ofType:@"mp3"];
    //定义一个带振动的SystemSoundID
    SystemSoundID soundID = 1000;
    //判断路径是否存在
    if (path) {
        //创建一个音频文件的播放系统声音服务器
        OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)([NSURL fileURLWithPath:path]), &soundID);
        //判断是否有错误
        if (error != kAudioServicesNoError) {
            NSLog(@"%d",(int)error);
        }
    }
    //只播放声音,没振动
    AudioServicesPlaySystemSound(soundID);
}

猜你喜欢

转载自blog.csdn.net/u010545480/article/details/80448813