AVAudioPlayer протекает, где я должен выпустить его ?? - PullRequest
0 голосов
/ 28 июля 2011

Я пытаюсь воспроизвести файлы background.mp3 в качестве файла воспроизведения, и он работает нормально. но это утечка памяти

@interface slots2ViewController : UIViewController <AVAudioPlayerDelegate>
{
 AVAudioPlayer *PlayBack;
}
@property(nonatomic, retain) AVAudioPlayer *PlayBack ;

.m файл

@synthesize PlayBack;

-(void)LoadnPlaySound
  {


NSString *SubDir = [NSString stringWithFormat:@"AudioFiles/Theme%d",SlotId];
NSURL* file_url2 = nil;

file_url2 = [[NSURL alloc] initFileURLWithPath:[[NSBundle mainBundle] pathForResource:@"background"ofType:@"mp3" inDirectory:SubDir ]];

AVAudioPlayer* TmpPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:file_url2 error:nil];
self.PlayBack = TmpPlayer;
self.PlayBack.delegate = self;
[TmpPlayer release];
[self.PlayBack prepareToPlay];
[self.PlayBack play];
  [release file_url2];

}


-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)ThePlayer successfully:(BOOL)flag
 {
   [self.PlayBack play];
 }

прибор для проверки утечки памяти сообщает, что [self.PlayBack prepareToPlay] является точкой утечки 100% я вызываю LoadnPlaySound всякий раз, когда меняю тему. также мне нужно освободить self.PlayBack, если да, то где

...