У меня вопрос, подобный тому, который этот парень спросил год назад. Разница в том, что я не могу это исправить.Как вызвать песню в didMoveToView(), один раз, при переключении через несколько контроллеров представления?
How can I continuously play background music while switching to different views using swift?
Пользователь ответил на свой вопрос с этим: «Вы можете запускать и останавливать музыку с AppDelegate ... Лучше всего было бы создать MusicPlayer класс, создать его экземпляр в AppDelegate и вызвать запуск и остановить методы в нем ...
есть ли у вас достаточно опыта, чтобы написать что-то подобное?
Или я должен вам помочь?»
Возможно, мне нужно отредактировать делегат приложения? Ниже приведена моя функция viewDidLoad. Здесь я вызываю звук, но каждый раз, когда я загружаю контроллер вида, он будет загружать и воспроизводить песню в дополнение к тому, как она была загружена в первый раз. Как я могу воспроизвести песню, которая будет загружена в контроллере просмотра, и играть во время работы приложения, независимо от того, в каком виде я нахожусь?
override func viewDidLoad() {
super.viewDidLoad()
let path = NSBundle.mainBundle().pathForResource("Theme", ofType: "wav")
let soundURL = NSURL(fileURLWithPath: path!)
do {
try theme = AVAudioPlayer(contentsOfURL: soundURL)
theme.prepareToPlay()
} catch let err as NSError {
print(err.debugDescription)
}
// trying to make the music refrain from playing simultaneously
if !theme.playing {
theme.play()
}
theme.numberOfLoops = -1
}