使用AVAudioPlayer播放音乐
AVAudioPlayer是一个属于AVFoundation.framework的类.它作用类似于一个功能强大的播放器.AVAudioPlayer支持广泛的音频格式,
主要是以下这些格式.
- AAC
- AMR(Adaptive Multi-Rate,一种语音格式)
- ALAC(Apple Lossless Audio Code)
- iLBC(internet Low Bitrate Code,另一种语言格式)
- IMA4(IMA/ADPCM)
- linearPCM(uncompressed)
- μ-law和a-law
- MP3(MPEG-Laudio Layer 3)
使用AVAudioPlayer播放音频十分简单,当程序控制AVAudioPlayer对象装载音频完成之后,可以调用AVAudioPlayer的如下方法进行播放控制
-play | 开始或恢复播放.调用该方法时,如果该音频还没有准备好,程序会隐式先执行prepareToPlay方法 |
- playAtTime | (NSTimeInterval)time: 在指定时间点开始或恢复播放 |
- ause | 暂停 |
- stop | 停止 |
- prepareToPlay | 准备开始播放.调用play方法时,如果该银屏还没有准备好,程序会隐式先执行该方法. |
AVAudioPlayer装载指定音频文件,AVAudioPlayer提供了如下简单的初始化方法
- initWithContentsOfURL:error: : | 从指定URL装载音频文件,并返回新创建的AVAudioPlayer对象. | |
- initWithData:error: : | 装载指定NSData对象所代表的音频数据,并返回新创建的AVAudioPlayer对象 | |
AVAudioPlayer提供了如下属性来访问音频文件的相关信息 | ||
playing: | 该只读属性返回播放器是否正在播放音频 | |
volume: | 该属性用于设置和返回播放器的音量增益.该增益值可以为0.0~1.0. | |
pan: | 该属性用于设置或返回立体声平衡.如果该属性设为-1.0,则完全在左边播放;如果设为0.0,则左右音量相同;如果设为1.0,则完全在右边播放. | |
rate: | 该属性设置或返回播放速率.该属性值支持0.5(半速播放)~2.0(倍速播放)之间的浮点值 | |
enableRate: | 该属性设置或返回播放器是否允许改变播放速率. | |
numberOfLoops: | 该属性设置或返回播放器的循环次数.如果将该属性设为负值,那么播放器将会一直播放,直到程序调用stop方法停止播放. | |
delegate: | 该属性用于为AVAudioPlayer设置代理对象. | |
numberOfChannels: | 该只读属性返回音频的声道数目 | |
duration: | 该只读属性返回音频的持续时间. | |
currentTime: | 该属性获取音频的播放点. | |
deviceCurrentTime: | 该只读属性返回音频. | |
url: | 该只读属性返回播放器关联的音频URL. | |
data: | 该只读属性返回播放器关联的音频数据. |