为什么AVAudioPlayer播放mp3时总会停在 prepareToPlay这个方法上

 我来答
af...7@33sn.cc
2017-03-18 · TA获得超过104个赞
知道答主
回答量:446
采纳率:0%
帮助的人:133万
展开全部
要使用 AVAudioPlayer 的对象播放文件,你只需为其指定一个音频文件并设定一个实现了AVAudioPlayerDelegate 协议的 delegate 对象。

初始化;
1:initWithData:error:他使用一个指向内存中一些音频数据的NSData对象. 这种形式对于已经把音频数据下载到缓冲区的情形很有用.
initWithContentsOfURL:error NSURL 它只能从file://格式的URL装入音频数据不支持流式音频及HTTP流和网络流

/获取文件路径
NSString *soundFilePath = [[NSBundle mainBundle]pathForResource:@"background" ofType:@"wav" ];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: fileURL error: nil ];
3属性:
Bool meteringEnabled 可以监控音量变化
double volume=1.0;//设置音量
setDelegate设置代理
这两个属性可以监控音频的回放进度
double f=player.duration//音乐的播放总时间
double currentTime //当前播放的时间
bool playing//判断是否正在播放
integer numberOfLoops ;//设置循环播放的此次
方法:
-(double) averagePowerForChannel:0//平均音量
-(double) peakPowerForChannel:0//最高音量
-(void) updateMeters //更新音量
-(void)prepareToPlay];//准备播放
-(void) play;//播放
-(void) pause//暂停;
-(void)stop//停止

4.委托方法:
//音频结束时调用
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {}
//音频产生错误时调用
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error {}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式