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

昨天用avaudioplayer做播放音乐的功能,mp3是从服务器下载到本地再从本地读取数据,代码如下:

-(void)initMusicPlayerWithMusicName:(NSString *)musicName{

NSError *err;

NSData *musicData = [NSData dataWithContentsOfFile:[Util localUrlOfMusic:musicName]];

MYLog(@"data:%@",musicData);

_musicPlayer = [[AVAudioPlayer alloc]initWithData:musicData error:&err];

if(err){

MYLog(@"err:%@",err);

}

_musicPlayer.delegate = self;

_musicPlayer.volume = 1;

_musicPlayer.numberOfLoops = 1;

[_musicPlayer prepareToPlay] ;

}

但是当开始播放后,程序总会跳到[_musicPlayer prepareToPlay] ;这一句,并停下,我没有打断点,程序也不是奔溃,点击几次继续运行程序后又可以继续运行,但是会播放两次mp3.请问这是怎么回事?
play方法如下:

-(void)play:(SongModel *)model tag:(NSInteger)tag{

_selectedCellIndex = tag;

NSString *musicName = [Util musicNameFromMusicPath:model.Paths];

[self initMusicPlayerWithMusicName:musicName];

[self initTimer];

[_musicPlayer play];

}

图片描述

以上是 为什么AVAudioPlayer播放mp3时总会停在 prepareToPlay这个方法上? 的全部内容, 来源链接: utcz.com/p/184896.html

回到顶部