ios 自定義鍵盤的按鍵音效和震動效果

問題:有一些應用有這樣的需求,自定義鍵盤按鍵時增加字符放大效果和音效、震動效果,仿系統鍵盤;


說明:按鍵的放大效果,比較簡單,這裏不做說明,讀者可以自己去完成;這裏主要介紹下增加按鍵音效和震動效果;


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 mainBundlepathForResource:@"ButtonSound" ofType:@"WAV"];

3、創建系統聲音,同時返回一個ID;

SystemSoundID soundID;

        AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:file_sound], &soundID);

4、根據ID播放自定義系統聲音;

AudioServicesPlayAlertSound(soundID);

5、增加震動效果,震動效果,其實是一個預定義的音效文件:kSystemSoundID_Vibrate ;

AudioServicesPlayAlertSound(kSystemSoundID_Vibrate);

完..

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章