【发布时间】:2011-04-14 08:34:00
【问题描述】:
我想释放我为 AVAudioPlayer 分配的内存,但是当我试图释放它时,声音没有播放。这是潜在的内存泄漏,我该如何摆脱这种情况。
下面的代码在选择错误选择时使用然后我正在播放错误声音,如果我选择多次错误选择然后它被分配多次那么我该如何摆脱这个。
else
{
NSString *soundName=@"Error.mp3";
NSError *error;
NSURL *urlString = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%s", [[NSBundle mainBundle] resourcePath],[soundName UTF8String]]];
AVAudioPlayer *worngAudioPlay = [[AVAudioPlayer alloc] initWithContentsOfURL:urlString error:&error];// here I also used to release using autorelease then not played sound
worngAudioPlay.delegate = self;
if (worngAudioPlay == nil)
{
}
else
{
[worngAudioPlay play];
}
// [worngAudioPlay release]; // Here I released then not played sound
}
谢谢你, 马丹·莫汉。
【问题讨论】:
标签: objective-c cocoa-touch memory-leaks avaudioplayer