AVAudioPlayer内存泄漏 - 媒体播放器框架

4
我正在使用AVAudioPlayer对象播放音频。我最初创建了一个audioPlayer对象。当播放动画时,我开始播放音频并在动画完成时暂停音频。我最初使用Instruments发现了三个内存泄漏(负责调用者是RegisterEmbedCodecs)。在这个论坛中,"ahmet emrah"建议我添加MediaPlayer框架,这样泄漏数量就减少到了一个。有没有完全摆脱它的方法?谢谢和问候,krishnan。

1
在谷歌上长时间搜索后,我发现这个问题只会出现在iPhone模拟器中,而不是设备中。但是,在测试设备时,我又遇到了另一个名为“CAPThreadStart”的内存泄漏。而且,负责的库是AudioToolbox。因此,如果有人遇到了这个问题,请分享您的想法。 - RK-
2个回答

2

我解决了这个问题。这个问题只出现在模拟器中,而不是设备上。


0

你可能想要发布一些代码。这通常是我播放音频文件的方式,我没有出现任何泄漏:

NSString *path = [[NSBundle mainBundle] pathForResource:@"somefile" ofType:@"mp3"];  

AVAudioPlayer * newAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];  
self.theAudio = newAudio; // automatically retain audio and dealloc old file if new file is loaded

[newAudio release]; // release the audio safely

theAudio.delegate = self; 
[theAudio prepareToPlay];
[theAudio setNumberOfLoops:0];
[theAudio play];

嗨,朋友,我已经解决了这个问题。这只发生在模拟器中,而不是设备中。感谢您的时间。 - RK-

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接