Я пытаюсь воспроизвести файлы 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, если да, то где