您的位置:首页 > 移动开发 > IOS开发

ios 自定义键盘的按键音效和震动效果

2014-10-13 17:17 1511 查看
问题:有一些应用有这样的需求,自定义键盘按键时增加字符放大效果和音效、震动效果,仿系统键盘;

说明:按键的放大效果,比较简单,这里不做说明,读者可以自己去完成;这里主要介绍下增加按键音效和震动效果;

ios 播放声音文件的方法很多,有System Sound Service、AVAudioPlayer、Audio Queue Services 等多种方法;由于按键音效属于短而小的声音,对于这些短小且需要频繁播放的音频,最好将其加入到系统声音(system sound)里。

但是要注意几点:

需要播放的音频文件不能超过30秒

必须是IMA/ADPCM格式[in linear PCM or IMA4(IMA/ADPCM) format]

必须是.caf .aif .wav文件

不能控制播放的进度,方法调用后直接播放;

使用系统声音播放的方法:

1、导入头文件:

#import <AudioToolbox/AudioServices.h>
2、初始化音频文件:

NSString * file_sound = [[NSBundle mainBundle] pathForResource:@"ButtonSound" ofType:@"WAV"];
3、创建系统声音,同时返回一个ID;

SystemSoundID soundID;

        AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:file_sound],
&soundID);
4、根据ID播放自定义系统声音;
AudioServicesPlayAlertSound(soundID);
5、增加震动效果,震动效果,其实是一个预定义的音效文件:kSystemSoundID_Vibrate ;
AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);
完..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息