Ios AVAudioPlayer INITWITH DATA返回nil

Ios AVAudioPlayer INITWITH DATA返回nil,ios,avaudioplayer,nsdata,Ios,Avaudioplayer,Nsdata,我使用下面的代码用NSData初始化了一个AVAudioPlayer对象,它在我的主包中有一个mp3的数据 NSError *error; NSString *filePathForBgAudio = [[NSBundle mainBundle] pathForResource:@"beebuzz10" ofType:@"mp3"]; NSData *bgAudioData = [NSData dataWithContentsOfFile:filePathForBgAudio]; bgAudio

我使用下面的代码用NSData初始化了一个AVAudioPlayer对象,它在我的主包中有一个mp3的数据

NSError *error;
NSString *filePathForBgAudio = [[NSBundle mainBundle] pathForResource:@"beebuzz10" ofType:@"mp3"];
NSData *bgAudioData = [NSData dataWithContentsOfFile:filePathForBgAudio];
bgAudioPlayer = [[AVAudioPlayer alloc] initWithData:bgAudioData error:&error];
bgAudioPlayer.delegate = self;

我已经在
.h
文件中声明了
bgAudioPlayer
。但当我通过设置断点进行检查时,我发现在这一行之后
bgAudioPlayer=[[AVAudioPlayer alloc]initWithData:bgAudioData error:&error]
bgAudioPlayer仍显示为
nil
。但是,
filepathforbgaudo
bgAudioData
已正确初始化并具有数据。只有
bgAudioPlayer
nil
。上面代码中的问题是什么?如何纠正这种情况?

#导入@property(强、非原子)AVAudioPlayer*audioPlayer;您使用的是
initWithData:error:
方法,该方法加载MP3文件的NSData对象,而他使用的是直接指向捆绑包中此文件的
initWithContentsURL:error:
- (void)viewDidLoad
{
    [super viewDidLoad];


    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                         pathForResource:@"bubble"
                                         ofType:@"mp3"]];

    NSError *error;
    _audioPlayer = [[AVAudioPlayer alloc]
                    initWithContentsOfURL:url
                    error:&error];
    if (error)
    {
        NSLog(@"Error in audioPlayer: %@",
              [error localizedDescription]);
    } else
    {
        _audioPlayer.delegate = self;
        [_audioPlayer prepareToPlay];

    }
}


- (IBAction)playsound:(id)sender
{

    [_audioPlayer play];

  }
    NSError *error;
    NSURL *filePathForBgAudio1 =[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"beebuzz10" ofType:@"mp3"]];
    //NSString *filePathForBgAudio = [[NSBundle mainBundle] pathForResource:@"beebuzz10" ofType:@"mp3"];
   // NSData *bgAudioData = [NSData dataWithContentsOfFile:filePathForBgAudio1];
   bgAudioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:filePathForBgAudio1 error:&error];