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

问题描述

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

ios-为什么AVAudioPlayer播放mp3时总会停在 prepareToPlay这个方法上?的相关文章

jsp 中播放mp3时,怎么判断播放完毕了

问题描述 jsp 中播放mp3时,怎么判断播放完毕了 在jsp中用标签播放mp3 ,怎么判断它播放完毕了 解决方案 如果是html5 可以用js和audio来判断 这是一个判断视频的例子:http://blog.csdn.net/tuposky/article/details/41488403 解决方案二: 用jmp3这个播放器,直接embed获取不到或者兼容性不好

M8播放MP3时的EQ设置参考

这两天在调试音频的EQ部分,对这个不太有概念,打算参考M8的来配置一把.先搞几张M8的相关界面出来,方便用的时候查看.

详解iOS App中调用AVAudioPlayer播放音频文件的用法_IOS

要给工程中添加音频,首先要导入音频的框架 AVFoundation.framework 然后新建一个类继承于UIViewController, 我这里就叫FirstVC. 首先在 AppDelegate.m中初始化根视图 复制代码 代码如下: #import "AppDelegate.h" #import "FirstVC.h" @implementation AppDelegate - (void)dealloc {     [_window release];

iOS后台音频播放及锁屏界面显示音频信息

iOS后台播放音乐及用户交互处理 后台播放是任何一个音频软件都支持的功能,在上一篇博客中,详细介绍了使用AVAudioPlayer播放音频的方法,这篇博客将对后台的处理做介绍,关于播放与设置音频的博客地址:http://my.oschina.net/u/2340880/blog/420129. 一.设置后台播放 iOS设置后台音频播放的步骤非常简单,首先需要在系统设置的plist文件中添加一个键Required background modes,值为App plays audio or stre

用flash9制作的播放音乐时频谱真实显示

显示 (需要首先将mp3转换为swf,再对转换后的swf进行处理,才能正确显示声音频谱),可以说Flash8及以下的版本对声音的支持是有限的,而Flash9在此方面进行了升级,对声音的处理能力大为提升,下面发一个用flash9制作的播放音乐时频谱真实显示的小实例(参考了他人心得),界面如下图1: 1.打开Flash9,在主场景第一帖上(仅此一帧): import flash.display.Sprite;   import flash.display.BlendMode;  //混合模式类  i

Delphi中用多媒体库Bass.dll播放mp3 [10]

本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ComCtrls; type TForm1 = class(TForm) OpenDialog1: TOpenDialog; TrackBar1: TTrackBar; Timer1: TTimer; Butto

mediaplayer-使用MediaPlayer播放mp3文件遇到奇怪的问题

问题描述 使用MediaPlayer播放mp3文件遇到奇怪的问题 我在使用MediaPlayer播放mp3文件时,系统会报告错误日志Prepare failed.: status=0xFFFFFF8E,但音乐播放是正常的,并无异常.而且据我观察,好像只有在比较高的rom版本里才会有这个错误出现,如4.0,在2.3版本里又不会报错.请问是什么原因,如何解决? 解决方案 使用android的MediaPlayer来播放声音时,如果在调用了release方法后在调用prepare方法,就会报以下异常.

代码-ios音频后台播放,怎么实现(在线)

问题描述 ios音频后台播放,怎么实现(在线) ios音频后台播放,怎么实现,在线播放的最好有直接执行的代码 解决方案 IOS后台运行 之 后台播放音乐 iOS后台播放音乐 解决方案二: 使用服务,即Service就可以满足你的要求.给你我以前自己写的示例: import java.util.List;import android.annotation.SuppressLint;import android.app.Service;import android.content.Broadcast

uitableview-从tableView播放MP3

问题描述 从tableView播放MP3 有两个歌曲列表,在用户选择歌曲时播放: nsmutablearray * enrique = [[NSMutableArray alloc]init]; [enrique addObject:@"add.mp3"]; [enrique addObject:@"hero.mp3"]; // this section of uitableview didselectrow - (void)tableView:(UITableVi