peterchen149 2015-10-27 03:01 采纳率: 0%
浏览 1946

为什么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];
}

图片说明

  • 写回答

2条回答 默认 最新

  • Leexianke 2015-10-27 23:49
    关注

    为何要这句,play就可以了啊

    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名