iOS音效,ios音效外掛程式
//AudioToolbox.framework是一套基於C語言的架構,使用它來播放音效其本質是將短音頻註冊到系統聲音服務(System Sound Service)//System Sound Service的限制://1.音頻播放時間不能超過30s//2.資料必須是PCM或者IMA4格式//3.音頻檔案必須打包成.caf、.aif、.wav中的一種(注意這是官方文檔的說法,實際測試發現一些.mp3也可以播放)
播放音訊方法:
/** * 播放完成回呼函數 * * @param soundID 系統聲音ID * @param clientData 回調時傳遞的資料 */void soundCompleteCallback(SystemSoundID soundID,void * clientData){ NSLog(@"播放完成...");}/** * 播放音效檔案 * * @param name 音頻檔案名稱 */-(void)playSoundEffect:(NSString *)name{ NSString *audioFile=[[NSBundle mainBundle] pathForResource:name ofType:nil]; NSLog(@"%@",audioFile); NSURL *fileUrl=[NSURL fileURLWithPath:audioFile]; //1.獲得系統聲音ID SystemSoundID soundID=0; /** * inFileUrl:音頻檔案url * outSystemSoundID:聲音id(此函數會將音效檔案加入到系統音頻服務中並返回一個長整形ID) */ AudioServicesCreateSystemSoundID((__bridge CFURLRef)(fileUrl), &soundID); //如果需要在播放完之後執行某些操作,可以調用如下方法註冊一個播放完成回呼函數 AudioServicesAddSystemSoundCompletion(soundID, NULL, NULL, soundCompleteCallback, NULL); //2.播放音頻 AudioServicesPlaySystemSound(soundID);//播放音效 // AudioServicesPlayAlertSound(soundID);//播放音效並震動}