您的位置:首页 > 移动开发 > IOS开发

iOS 本地音频播放AVAudioPlayer

2014-11-21 18:45 405 查看
AVAudioplayer 是AVFoundation.framework 库中定义的一个类。

首先在工程中导入AVFoundation.framework 库。

AVAudioplayer 的使用

一,创建

// 使用本地URL创建
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"发如雪" ofType:@"mp3"]] error:nil];

// 创建NSData创建
AVAudioPlayer *player2 = [[AVAudioPlayer alloc] initWithData:Data error:nil];


二,设置

//1、音量

self.player.volume =0.8;//0.0-1.0之间

//2、循环次数

self.player.numberOfLoops =3;//默认只播放一次

//3、播放位置

self.player.currentTime =15.0;//可以指定从任意位置开始播放

//4、声道数

NSUInteger channels = self.player.numberOfChannels;//只读属性

//5、持续时间

NSTimeInterval duration = self.player.duration;//获取持续时间

//6、仪表计数

self.player.meteringEnabled =YES;//开启仪表计数功能
[player updateMeters];//更新仪表计数


四,播放音乐

[self.player prepareToPlay];//分配播放所需的资源,并将其加入内部播放队列
[player play];//播放
[player stop];//停止


五,代理方法

AVAudioPlayerDelegate
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
//播放结束时执行的动作
[audioButton setTitle:@"Play Audio File" forState:UIControlStateNormal];
}
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error;
{
//解码错误执行的动作
}

- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player;
{
//处理中断的代码
}


当程序被应用外部打断之后,重新回到应用程序的时候触发。在这里当回到此应用程序的时候,继续播放音乐。

- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player
{
[audioPlayer play];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: