第二次调用AVAudioPlayer - > EXC_BAD_ACCESS(代码发布,我错过了什么?)

时间:2010-05-20 20:58:15

标签: iphone avaudioplayer

我正在使用此代码在每次调用时播放不同的mp3文件。第一次通过工作很棒。第二次崩溃,如下所示。

·H

AVAudioPlayer *player;
@property (nonatomic, retain) AVAudioPlayer *player;

的.m

-(void)load:(NSURL *)aFileURL {
 if (aFileURL) {

  AVAudioPlayer *newPlayer =
  [[AVAudioPlayer alloc] initWithContentsOfURL: aFileURL
                      error: nil];

  [aFileURL release];
  self.player = newPlayer; // CRASHES HERE EXC_BAD_ACCESS with second MP3a
  [newPlayer release];

  [self.player prepareToPlay];
  [self.player setDelegate:self];
 }   
}

我知道我一定错过了什么想法?

1 个答案:

答案 0 :(得分:0)

 [aFileURL release];

您不应-release -load:中的网址,因为该功能不是所有者。 EXC_BAD_ACCESS可能是由于该URL的双重释放。

尝试删除此行。