私のアプリでは、AVAudioPlayerを使ってmp3を再生しています。私のコードはAVAudioPlayer、たくさんの音
- (void) play{
NSString *path = [NSString stringWithFormat:@"%@/%@",
[[NSBundle mainBundle] resourcePath],
[arraysound objectAtIndex:appDelegate.indexSound]];
NSURL *filePath = [NSURL fileURLWithPath:path isDirectory:NO];
soundID = [[AVAudioPlayer alloc] initWithContentsOfURL:filePath error:nil];
soundID.delegate = self;
[soundID prepareToPlay];
[soundID play];
}
ですが、再生する音は40音です。私は毎回私がsound1.mp3、sound2.mp3、sound3.mp3 ......
がどのように私は私のsoundIdを解放することができている私の音例を再生するためにsoundIDでしょうか?私は
- (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player
successfully: (BOOL) flag {
を知っているが、私はこのデリゲートの内側に私のサウンドIDを解放する方法を理解していない私の、私は方法を「再生」を呼び出し音の変更が、この方法のアロケーション新しいAVAudioPlayer毎回
私は解放した場合に内部の「失敗した場合、shm_open: 『私は私のアプリを使用して、いくつかの分、私がクラッシュして、このメッセージを持っていた後、私のアプリがクラッシュ をsoundIdための方法は、Appleのオーディオキュー』
私を助けてください...おかげ
デリゲートメソッドが呼び出される場所、または手動で変更する場合は、各サウンドが終了するのを待っていますか? – sooper