播放系统提示音使用总结 -(AudioToolbox)

开发过程中需要用到苹果自带的系统提示音,下面总结了一下关于系统提示音播放的方法

第一步首先得导入AudioToolbox框架
#import <AudioToolbox/AudioToolbox.h>
播放系统自带的提示声

播放系统自带的提示声很简单,只需要两行代码就能搞定了:

//定义一个SystemSoundID
    SystemSoundID soundID = 1007;//具体参数详情下面贴出来
    //播放声音
    AudioServicesPlaySystemSound(soundID);

关于SystemSoundID的相关参数介绍和系统所有的铃声的介绍

播放自定义的提示声,既有声音也带振动
- (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, ^{
        //播放成功回调
    });
}
只有振动没有声音
//手机只振动没声音
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
只有声音不带振动
//必须得是自定义的声音,经过测试系统的声音好像都带振动
- (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);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容