开发过程中需要用到苹果自带的系统提示音,下面总结了一下关于系统提示音播放的方法
第一步首先得导入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);
}