2014-10-10 4 views

ответ

2

Это зависит от того, как вы играете. Найдите метод делегата, уведомление или наблюдаемое свойство, изменение состояния которого может инициировать уведомление KVO.

Например, если вы используете AVAudioPlayer, его delegate получает уведомление по методу делегата, который вы можете узнать о здесь: https://developer.apple.com/library/ios/documentation/avfoundation/reference/AVAudioPlayerDelegateProtocolReference/index.html#//apple_ref/doc/uid/TP40008068

+0

метод делегата, что я ищу. Я реализовал метод, показанный на странице Apple, но он не вызван. Вот мой код: [р] Загрузка звукового файла: уаг introSound = NSURL (fileURLWithPath:. NSBundle.mainBundle() pathForResource ("интро", OfType: "WAV")!) Воспроизведение звука: аудиоплеера = AVAudioPlayer (contentsOfURL: soundResource, ошибка: & ошибка) audioPlayer.prepareToPlay() audioPlayer.play() метод делегата: FUNC audioPlayerDidFinishPlaying (игрок: AVAudioPlayer !, успешно флаг: Bool) { Println ("завершение") } –

+0

Это не вызов, потому что вы не являетесь «делегатом». Вы должны быть «делегатом», если хотите отправить метод делегата. – matt

+0

Вот пример рабочего кода: https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch14p643ducking/ch27p912ducking/Player.swift – matt