问题描述
- 为什么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]; }
解决方案
解决fedora无法播放MP3的方法
fedora 11 Rhythmbox 播放mp3方法
解决方案二:
为何要这句,play就可以了啊
解决方案三:
播放音乐会有一段空白,就是准备时间。
时间: 2024-12-24 07:11:40