短效音频播放
.caf为后缀的就是短效音频
模拟摇一摇播放短效音频
// Hardware -> shakeGusture 模拟器摇一摇
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
SystemSoundID soundId;
// 在项目Bundle里拿文件
// .caf后缀的是短效音频
// 第一个参数是音效名 第二参数是后缀
NSString*filePath = [[NSBundle mainBundle] pathForResource:@"12 Bar Blues Bass" ofType:@"caf"];
NSURL *url = [NSURL fileURLWithPath:filePath];
// 调用了第二底层 c函数做了桥接转换 C生命周期由原来的OC来管理 点击错误自动提示
AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url),&soundId);
AudioServicesPlaySystemSound(soundId);
// 带有震动效果的
// AudioServicesPlayAlertSound(<#SystemSoundID inSystemSoundID#>)
// 当声音执行完之后需要什么回调函数
// 第三个参数是循环播放还是放一遍就可以
// 第四个参数是回调函数/钩子函数 也就是声音结束后的回调方法
//AudioServicesAddSystemSoundCompletion(<#SystemSoundID inSystemSoundID#>, <#CFRunLoopRef inRunLoop#>, <#CFStringRef inRunLoopMode#>, <#AudioServicesSystemSoundCompletionProc inCompletionRoutine#>, <#void *inClientData#>)
}