播放较大的音频或者要对音频有精确的控制的话,通常会选择使用AVFoundation.framework中的AVAudioPlayer来实现。AVAudioPlayer可以看成一个播放器,它支持多种音频格式,而且能够进行进度、音量、播放速度等控制。
AVAudioPlayer的使用比较简单:
1.初始化AVAudioPlayer对象,此时通常指定本地文件路径。
2.设置播放器属性,例如重复次数、音量大小等。
3.调用play方法播放。
当然由于AVAudioPlayer一次只能播放一个音频文件,所有上一曲、下一曲其实可以通过创建多个播放器对象来完成,播放进度的实现主要依靠一个定时器实时计算当前播放时长和音频总时长的比例。
NSString *urlStr=[[NSBundle mainBundle]pathForResource:@"abc" ofType:@"aac"];
NSURL *url=[NSURL fileURLWithPath:urlStr];
NSError *error=nil;
//初始化播放器,注意这里的Url参数只能时文件路径,不支持HTTP Url
_audioPlayer=[[AVAudioPlayer alloc]initWithContentsOfURL:url error:&error];
//设置播放器属性
_audioPlayer.numberOfLoops=0;//设置为0不循环
//audioPlayer.delegate=self;
[_audioPlayer prepareToPlay];//加载音频文件到缓存
[_audioPlayer play];
简单实用就这样了。