0
我想在Swift 3中編寫我的遊戲中的背景音樂。我嘗試了很多教程和示例代碼,但找不到在Swift 3代碼中工作的實現。我能找到的最佳示例代碼是:Swift 3中的背景音樂
lazy var backgroundMusic: AVAudioPlayer? = {
guard let url = Bundle.main.url(forResource: "Music Title", withExtension: "mp3") else {
return nil
}
do {
let player = try AVAudioPlayer(contentsOf: url)
player.numberOfLoops = -1
return player
} catch {
return nil
}
}
override func viewDidLoad() {
super.viewDidLoad()
backgroundMusic?.play()
}
我已將音樂文件放在名爲「Resources」的單獨文件夾中。如果你能幫助我,我會非常高興!
我用下劃線改變了文件名中的空格,但問題依然存在。 順便說一句,當我跟隨在Xcode翻譯提示我得到這個代碼:
lazy var backgroundMusic: AVAudioPlayer? = {
guard let url = Bundle.main.url(forResource: "Mining by Moonlight", withExtension: "mp3") else {
return nil
}
do {
let player = try AVAudioPlayer(contentsOf: url)
player.numberOfLoops = -1
return player
} catch {
return nil
}
}()
override func viewDidLoad() {
super.viewDidLoad()
backgroundMusic?.play()
}
在lazy var backgroundMusic
設置一個斷點,並步入代碼後,我從調試器獲得以下結果:
0x1029097d8 < +760>:movq 0x69a9(%rip),%rcx;直接字段(_98A37426C9C75C234890E1E239802C1D backgroundMusic.storage)爲TabTab.ViewController偏移:Swift.Optional>
而當您使用調試器來遍歷您的代碼時,您發現.....? –
請不要忽略你緩存的錯誤。至少記錄它。 –
當我在函數入口使用調試器時,得到: –