如何使用AVAudioPlayer的单个实例播放多首歌曲?

时间:2010-04-07 10:40:18

标签: iphone avaudioplayer tablecell

我想用AVAudioplayer的单个对象播放多首歌曲,我把歌曲放在表格行中,当用户点击行播放器视图打开但是当用户回到桌面播放器的另一行时播放两首歌曲simanteniosly。我能做些什么来解决这个问题?

2 个答案:

答案 0 :(得分:3)

我假设您已在h文件中创建了对象,并声明并合成了它。 您也可能正在播放didSelectRowAtIndexPath:方法中的文件。在该方法中,您可能会有以下代码部分。

AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL error: nil];
self.appSoundPlayer = newPlayer;
[newPlayer release];
[appSoundPlayer prepareToPlay];
[appSoundPlayer setVolume: 1.0];
[appSoundPlayer setDelegate: self];
[appSoundPlayer play];

[appSoundPlayer prepareToPlay]; 之前添加 [appsoundPlayer stop]; ,以确保在开始播放会话之前音频播放器处于停止状态。

如果您使用的是其他方法,请在此处发布代码的相关部分,

答案 1 :(得分:0)

AVAudioPlayer用于播放单个音频剪辑。如果要播放不同的剪辑,请停止当前播放器,使用新的音频数据制作新播放器并播放。

如果两首歌曲重叠,那么你可能会意外地制作了两个AVAudioPlayer个实例并且没有停止第一首。