·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> 系统音&警告音&震动

系统音&警告音&震动

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

为了引起用户注意发出警告的时候,常常伴随有提示音震动等.系统声音服务提供了一个接口,用于播放不超过30秒的声音文件,他支持的格式有CAF,AIF,WAV.

iOS使用该API支持3种不同的通知:

声音:立刻播放一个简单的声音文件,如果手机为静音,用户什么什么都听不到.

提醒:播放声音文件,如果手机设置为静音或震动,将通过震动提醒用户

震动:震动手机,不考虑其他设置

 

首先导入框架:AudioToolbox ,在文件中导入该框架的借口文件:#import<AudioToolbox/AudioToolbox.h>

在xib文件中添加三个按钮,分别实现以上三个功能.放入一个WAV格式的声音文件

//声音

- (IBAction)buttonClick:(UIButton *)sender {
    //警告音一般较短
    //声明变量soundid,用来引入音乐文件
    SystemSoundID soundid;
    //得到声音文件路径
    NSString *soundfile=[[NSBundle mainBundle]pathForResource:@"soundeffect" ofType:@"wav"];
    //1.指向文件位置的CFURLRef. 2.指针
    //__bridge.将C语言结构转化为OC语言对象
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:soundfile], &soundid);
    //播放警告音
    AudioServicesPlaySystemSound(soundid);
}

//提醒

- (IBAction)alertButtonClick:(UIButton *)sender {
    SystemSoundID soundid;
    NSString *soundfile=[[NSBundle mainBundle]pathForResource:@"soundeffect" ofType:@"wav"];
    AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:soundfile], &soundid);
    //警告音,当用户调整为静音时震动
    AudioServicesPlayAlertSound(soundid);
}

//震动

//震动
- (IBAction)shakeButtonClick:(UIButton *)sender {
    SystemSoundID soundid;
    //不论手机状态,只有震动
    AudioServicesPlaySystemSound(soundid);
}