AVAudioPlayer播放完毕后的问题解决方法

时间:2011-08-30 01:37:34

标签: iphone xcode while-loop avaudioplayer

我在不同的解决方案中看到了一些类似的问题,但我想知道是否有某种方式使用类似于我已经提出的方法。

基本上,uiview在播放器开始播放时会采用一种颜色,并在播放完毕后返回到起始颜色

- (void)playSoundWithColor {

self.image = self.pressedImage;

[audioPlayer play];

while ([audioPlayer isPlaying]) {


  if (audioPlayer.currentTime == audioPlayer.duration)
  self.image = self.startingImage;

}
}

1 个答案:

答案 0 :(得分:2)

做你想做的事情的最好方法是让你的班级成为AVAudioPlayerDelegate并使用

audioPlayerDidFinishPlaying:successfully:

当玩家完成并且没有任何连续循环和内存问题时,该方法被调用。它将为您提供最可靠,最高效的整体性能。