これは私が解決できなかった長い間残っている問題です。 私は一連の小さなオーディオファイルを再生しようとしています。しかし、私がAVAudioPlayer
をリリースしないと、私はメモリリークを取得します。もしそれをリリースすれば、ファイルはまったく再生されません。メモリリークのないNSTimerでAVAudioPlayerを再生しますか?
私は自動解放を試みましたが、何も機能しません。
- (void) playSoundShowLabel:(NSTimer*)theTimer {
NSMutableDictionary *dict = [[[NSMutableDictionary alloc]
initWithDictionary:[theTimer userInfo]] autorelease];
NSURL *clickURL = [NSURL fileURLWithPath:[NSString
stringWithFormat:@"%@/%@.mp3", [[NSBundle mainBundle] resourcePath],
[dict valueForKey:@"sWav"]]];
AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:
clickURL error:nil];
[theAudio play];
theAudio.numberOfLoops = 0;
//[theAudio release]; << stops play
}
私は、システムサウンドでファイルを再生する他の方法を試してみましたが、私はこれと他の問題を取得するので、私はAVAudioPlayer
を使用する必要があります。
私はこれをグーグルが、答えを見つけることができます:(