2010-05-20 3 views
0

이 코드를 사용하여 모든 호출마다 다른 mp3 파일을 재생하고 있습니다. 처음부터 끝까지 큰 작품. 두 번째로 충돌은 아래와 같습니다.AVAudioPlayer -> EXC_BAD_ACCESS 두 번째 호출 (게시 된 코드, 놓친 내용)

.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]; 
} 
} 

, 어떤 아이디어?

답변

0
[aFileURL release]; 

당신이해야하지 -release 그 함수가 소유자가 아닌 이후 -load:의 URL. EXC_BAD_ACCESS는 아마도 해당 URL의 이중 릴리스가 원인 일 수 있습니다.

이 줄을 제거하십시오.

+0

당신은 당신이 너무 오래 화면을 쳐다 보았다는 것을 알 수 있습니다! 그 사실을 완전히 잊었습니다. 요르단 시간 휴식, 많이 감사! – Jordan