0
我正在使用Swift構建一個簡單的音頻播放器應用程序。我的故事板中有兩個視圖控制器。第二個視圖控制器創建AVAudioPlayer的一個實例,並用於播放音頻。我希望用戶能夠遠離該視圖控制器,使用應用程序中的其他功能並返回到該視圖控制器來操縱播放器。如何防止每次加載視圖控制器時創建AVAudioPlayer類的新實例 - Swift
問題是,當我播放一些音頻時,導航離開,然後返回播放器視圖控制器並再次按播放,同時播放兩個版本的音頻文件。
我猜測它正在創建一個AVAudioPlayer對象的新實例,而不是操縱我先做的那個。我認爲這與Swift取消分配然後重新初始化播放器視圖控制器有關?
下面是相關代碼:
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()
}