ios - AVAudioPlayer - audioPlayerDidFinishPlaying有时在剪辑中随机调用

时间:2012-04-26 04:20:30

标签: iphone ios avaudioplayer

我有一个AVAudioPlayer播放约30分钟的mp3文件。有时,audioPlayerDidFinishPlaying:successfully被调用(成功标志设置为TRUE),即使它只有5分钟进入剪辑。它很少发生,但它可能发生在剪辑中的任何位置。

我只注意到当用户按下用户界面上的按钮或移动滑块时会发生这种情况。而且他们按下用户界面上的按钮的速度越快,它就越有可能发生。

任何想法可能导致这种情况,或者如何解决它?

更多信息: 一次只播放1个声音。按钮操作没有播放声音。 AVAudioPlayer在我的主ViewController中本地声明。我已经在iPhone 3GS和iPhone 4s上进行了测试。这个问题很少发生在iPhone 4s上。它在3GS上更频繁。

1 个答案:

答案 0 :(得分:0)

好的,我昨天开始遇到同样的问题。不要我们是否遇到同样的问题,但我会把它扔到这里

在滑块ValueChanged事件处理程序中,我尝试根据滑块的新位置更新视图元素。但是在updateViewMethod中,我调用了另一个

slider.value = self.player.currentTime;

删除它解决了我的问题。

简而言之,你的计时器的回调应该更新滑块,但是滑块valuechanged处理程序不应该重做工作。