Я создаю приложение Audio Player с помощью Swift. У меня есть два контроллера просмотра на моей раскадровке. Второй контроллер просмотра создает экземпляр AVAudioPlayer и используется для воспроизведения звука. Я хочу, чтобы пользователь мог перейти от этого контроллера представления, использовать другие функции в приложении и вернуться к этому контроллеру просмотра, чтобы манипулировать проигрывателем.Как предотвратить создание нового экземпляра класса AVAudioPlayer каждый раз при загрузке View Controller - Swift
Проблема в том, что когда я воспроизвожу какой-то звук, переходите от него, а затем возвращайтесь к игровому контроллеру View Controller и снова воспроизводите воспроизведение, одновременно воспроизводятся две версии аудиофайла.
Я предполагаю, что он создает новый экземпляр объекта AVAudioPlayer, вместо того, чтобы манипулировать тем, что я сделал первым. Я думаю, что это имеет какое-то отношение к сокращению выделения Swift и повторной инициализации контроллера просмотра Player?
Вот соответствующий код:
import UIKit
import AVFoundation
class ViewController: UIViewController {
var player: AVAudioPlayer = AVAudioPlayer()
let audioPath = NSBundle.mainBundle().pathForResource("daftPunk", ofType: "mp3")!
@IBOutlet var volumePosition: UISlider!
@IBOutlet var scrubPosition: UISlider!
@IBAction func play(sender: AnyObject) {
player.play()
}