我在不同的解决方案中看到了一些类似的问题,但我想知道是否有某种方式使用类似于我已经提出的方法。
基本上,uiview在播放器开始播放时会采用一种颜色,并在播放完毕后返回到起始颜色
- (void)playSoundWithColor {
self.image = self.pressedImage;
[audioPlayer play];
while ([audioPlayer isPlaying]) {
if (audioPlayer.currentTime == audioPlayer.duration)
self.image = self.startingImage;
}
}
答案 0 :(得分:2)
做你想做的事情的最好方法是让你的班级成为AVAudioPlayerDelegate并使用
audioPlayerDidFinishPlaying:successfully:
当玩家完成并且没有任何连续循环和内存问题时,该方法被调用。它将为您提供最可靠,最高效的整体性能。