Проблема метода стрельбы после завершения воспроизведения AVAudioPlayer - PullRequest
1 голос
/ 30 августа 2011

Я видел несколько похожих вопросов с разными решениями, но я хочу знать, есть ли способ использовать что-то похожее на то, что я уже придумал.

По сути, для просмотра будет один цвет, когдаигрок начинает играть и возвращается к начальному цвету, когда он заканчивает играть

- (void)playSoundWithColor {

self.image = self.pressedImage;

[audioPlayer play];

while ([audioPlayer isPlaying]) {


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

}
}

1 Ответ

2 голосов
/ 30 августа 2011

Лучший способ сделать то, что вы пытаетесь сделать, это сделать ваш класс AVAudioPlayerDelegate и использовать

audioPlayerDidFinishPlaying:successfully:

Этот метод вызывается правильно, когда игрок заканчивает игру, и у него нет непрерывногопроблемы с циклом и памятью.Это даст вам самую надежную и эффективную производительность в целом.

...