0
在我的應用程序中,我使用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個聲音播放;我用每次soundID發揮出自己的聲音
例子中,我sound1.mp3,sound2.mp3,sound3.mp3 ......
我怎樣才能釋放我soundId?
當我的聲音改變我稱之爲「玩」的方法,但這種方法的alloc一個新的AVAudioPlayer每次
我知道
- (void) audioPlayerDidFinishPlaying: (AVAudioPlayer *) player
successfully: (BOOL) flag {
,但我不明白如何釋放此委託在我的聲音ID方法,因爲如果我釋放內soundId我的應用程序崩潰 「的shm_open失敗:‘過了幾分鐘,我用我的應用我有崩潰此消息後,蘋果音頻隊列’
請幫我...謝謝
您是否在等待每個聲音完成調用委託方法的位置,還是您手動更改它們? – sooper 2012-04-23 23:46:33