iOS Developer

iOS播放系统声音,同时震动;播放自定义声音

2018-07-05  本文已影响12人  Yancy007
#import <AudioToolbox/AudioToolbox.h>
//  播放 以声音编号1007举例
AudioServicesPlaySystemSound(1007);
//  停止播放
AudioServicesRemoveSystemSoundCompletion(1007);
// 震动 前提是你的iphone设置了允许震动
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
// 停止震动
AudioServicesRemoveSystemSoundCompletion(kSystemSoundID_Vibrate);
信息 
ReceivedMessage.caf--收到信息,仅在短信界面打开时播放。 
sms-received1.caf-------三全音 
sms-received2.caf-------管钟琴 
sms-received3.caf-------玻璃 
sms-received4.caf-------圆号 
sms-received5.caf-------铃声 
sms-received6.caf-------电子乐 
SentMessage.caf--------发送信息 

邮件 
mail-sent.caf----发送邮件 
new-mail.caf-----收到新邮件 

电话 
dtmf-0.caf----------拨号面板0按键 
dtmf-1.caf----------拨号面板1按键 
dtmf-2.caf----------拨号面板2按键 
dtmf-3.caf----------拨号面板3按键 
dtmf-4.caf----------拨号面板4按键 
dtmf-5.caf----------拨号面板5按键 
dtmf-6.caf----------拨号面板6按键 
dtmf-7.caf----------拨号面板7按键 
dtmf-8.caf----------拨号面板8按键 
dtmf-9.caf----------拨号面板9按键 
dtmf-pound.caf---拨号面板#按键 
dtmf-star.caf------拨号面板*按键 
Voicemail.caf-----新语音邮件 

输入设备声音提示 
Tock.caf-----------------------点击键盘 
begin_record.caf-----------开始录音 
begin_video_record.caf--开始录像 
photoShutter.caf------------快门声 
end_record.caf--------------结束录音 
end_video_record.caf-----结束录像 
http://iphonedevwiki.net/index.php/AudioServices

首先把你下载好的声音文件拖入你的工程
下面贴出代码


@interface Tools : NSObject
/**
 播放系统来电声音
 @param name 文件名
 @param type 文件类型
 @param isAlert 是否伴随震动
 */
+ (SystemSoundID)playSystemSoundWithName:(NSString *)name type:(NSString *)type isAlert:(BOOL)isAlert;

// 停止播放来电声音
+ (void)stopPlaySystemSound:(SystemSoundID)soundID;
@end
@implementation Tools
+ (SystemSoundID)playSystemSoundWithName:(NSString *)name type:(NSString *)type isAlert:(BOOL)isAlert {
    // 获取文件路径
    NSString *filePath = [[NSBundle mainBundle] pathForResource:name ofType:type];
    // 加载音效文件,得到对应的音效ID
    SystemSoundID soundID = 0;
    AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)[NSURL fileURLWithPath:filePath], &soundID);
    // 播放音效
    if (isAlert) {
        AudioServicesPlayAlertSound(soundID);
    } else {
        AudioServicesPlaySystemSound(soundID);
    }
    return soundID;
}

+ (void)stopPlaySystemSound:(SystemSoundID)soundID {
    //把需要销毁的音效文件的ID传递给它既可销毁
    AudioServicesDisposeSystemSoundID(soundID);
}
@end
// 比如我这里的文件是voip_call.caf
[Tools playSystemSoundWithName:@"voip_call" type:@"caf" isAlert:YES];
上一篇 下一篇

猜你喜欢

热点阅读