iOS中的音频服务和音频AVAudioPlayer音频播放器使用指南

2020-01-15 15:34:05刘景俊

}  
个人觉得这个音频服务有点鸡肋,不过它肯定有它的用武之地,比如我们要播放一个自定义的警告音或者消息提示,用音频服务肯定比其他的方法节省资源。

 

AVAudioPlayer音频播放器
IOS中有三种播放音频的方式:AVAudioPlayer、音频服务、音频队列。
AVAudioPlayer在AVFoundation框架下,所以我们要导入AVFoundation.framework。
AVAudioPlayer类封装了播放单个声音的能力。播放器可以用NSURL或者NSData来初始化,要注意的是NSURL并不可以是网络url而必须是本地文件URL,因为       AVAudioPlayer不具备播放网络音频的能力,不过我们可以用过一点小手段使其具备这个能力,留待稍后讲解。
一个AVAudioPlayer只能播放一个音频,如果你想混音你可以创建多个AVAudioPlayer实例,每个相当于混音板上的一个轨道。
一、创建一个播放器

复制代码
#import <AVFoundation/AVFoundation.h>     
NSError* err;  
AVAudioPlayer* player = [[AVAudioPlayer alloc]  
                        initWithContentsOfURL:[NSURL fileURLWithPath:  
                                              [[NSBundle mainBundle]pathForResource:  
                                           @"music" ofType:@"m4a"   
                                           inDirectory:@"/"]]  
                        error:&err ];//使用本地URL创建  
复制代码
AVAudioPlayer* player = [[AVAudioPlayer alloc]  
                            initWithData:myData   
                            error:&err ];//使用NSData创建