1

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

4

2 回答 2

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停止];只是为了确保音频播放器在开始播放会话之前处于停止状态。

如果您使用不同的方法,只需在此处发布代码的相关部分,

于 2010-04-07T10:54:00.447 回答
1

AnAVAudioPlayer用于播放单个音频剪辑。如果您想播放不同的剪辑,请停止当前播放器,使用新的音频数据制作一个新的播放器,然后播放它。

如果两首歌曲重叠,那么您可能不小心制作了两个AVAudioPlayer实例而未能停止第一个实例。

于 2013-04-25T21:59:07.350 回答