Iphone AVAudioPlayer仅调用AudioPlayerIDfinishPlaying两次
我正在尝试使用AVAudioPlayer创建一种音频播放列表。因此,我使用了以下代码: .h 这适用于两首歌曲,但在此之后没有任何音频。知道为什么吗 谢谢,Iphone AVAudioPlayer仅调用AudioPlayerIDfinishPlaying两次,iphone,objective-c,avaudioplayer,Iphone,Objective C,Avaudioplayer,我正在尝试使用AVAudioPlayer创建一种音频播放列表。因此,我使用了以下代码: .h 这适用于两首歌曲,但在此之后没有任何音频。知道为什么吗 谢谢, Denis在这一行中,您正在启动音频播放器: audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil]; 然后在这一行中再次初始化它(不必要的重复,可能还有额外的保留): 然后下次循环出现时,即使您使用该行释放它 [player release];
Denis在这一行中,您正在启动音频播放器:
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
然后在这一行中再次初始化它(不必要的重复,可能还有额外的保留):
然后下次循环出现时,即使您使用该行释放它
[player release];
…存在一个问题,因为它仍在内存中,占用了硬件编解码器或浪费了资源。尝试删除第二个
initWithContents…
行,因为它是不必要的。1.只需维护一个数组。2.创建audioPlayer实例后-添加到阵列并调用play并释放audioPlayer实例(因为添加到阵列后它将被保留)。
3.在AudioPlayerDifinishPlaying中,从该阵列中卸下audioPlayer
因此,您可以一次播放多个文件这就是您感到疲劳的原因。干杯
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[audioPlayer initWithContentsOfURL:url error:nil];
[player release];