iOS的声音播放分两种情况,一种是音效播放,一种是音乐播放。
音效播放,就跟平常的通知的音效一样,适合短时间的音效(最好30s以内),比如按键音效什么的。音效播放的音量调控是跟系统通知音量调控挂钩的,所以把系统的正常音量调低(用iPhone侧面的音量加减)对于这个音效的音量是没有用的。
音乐播放,跟正常音乐播放一样,适合较为长时间的音乐的播放,比如播放背景音乐什么的。音乐播放的音量是跟系统正常音量挂钩的。
下面实现的是音效的播放:
SystemSoundID soundID;
//音效文件
NSURL* system_sound_url = [NSURLfileURLWithPath:[[NSBundlemainBundle] pathForResource:@"click"ofType:@"wav"]];
AudioServicesCreateSystemSoundID((__bridgeCFURLRef)system_sound_url,&soundID);
AudioServicesPlaySystemSound(soundID);
震动:
SystemSoundID shockID = kSystemSoundID_Vibrate;
AudioServicesPlaySystemSound(shockID);
几个注意事项:
1.长度小于30秒
2.格式只能是PCM或者IMA4
3.格式必须为.caf、.aif、或者.wav格式
4.简单音频不能从内存播放,而只能是磁盘文件