从一段代码里找到几个片段:
#import <AVFoundation/AVFoundation.h> #import <AudioToolbox/AudioToolbox.h>
// 加载音效 - (SystemSoundID)loadSound:(NSString *)soundFileName { // 1. 需要指定声音的文件路径,这个方法需要加载不同的音效 NSString *path = [[NSBundle mainBundle]pathForResource:soundFileName ofType:nil]; // 2. 将路径字符串转换成url NSURL *url = [NSURL fileURLWithPath:path]; // 3. 初始化音效 // 3.1 url => CFURLRef // 3.2 SystemSoundID SystemSoundID soundId; // url先写个错的,然后让xcode帮我们智能修订,这里的方法不要硬记! AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &soundId); return soundId; }
// 初始化音乐播放器 - (AVAudioPlayer *)loadMusic { // 1 初始化播放器需要指定音乐文件的路径 NSString *path = [[NSBundle mainBundle]pathForResource:@"背景音乐" ofType:@"caf"]; // 2 将路径字符串转换成url,从本地读取文件,需要使用fileURL NSURL *url = [NSURL fileURLWithPath:path]; // 3 初始化音频播放器 AVAudioPlayer *player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:nil]; // 4 设置循环播放 // 设置循环播放的次数 // 循环次数=0,声音会播放一次 // 循环次数=1,声音会播放2次 // 循环次数小于0,会无限循环播放 [player setNumberOfLoops:-1]; // 5 准备播放 [player prepareToPlay]; return player; }
// 5. 初始化背景音乐播放器 _backMusicPlayer = [self loadMusic]; [_backMusicPlayer setVolume:0.5f]; // 6. 开始播放 [_backMusicPlayer play]; // 7. 初始化音效 _winSound = [self loadSound:@"胜利.aiff"]; _faildSound = [self loadSound:@"失败.aiff"]; _drewSound = [self loadSound:@"和局.aiff"]; _clickSound = [self loadSound:@"点击按钮.aiff"];
// 播放音效 // AudioServicesPlayAlertSound在播放音效的同时会震动 AudioServicesPlaySystemSound(_drewSound);
AVAudioPlayer音频播放器