为什么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