2017-03-31 134 views
0

我已經開始學習ios開發,並被困在一個地方。我的代碼播放MP3文件是如何在swift3中播放mp3文件?

var bombSoundEffect: AVAudioPlayer! 
let path = Bundle.main.path(forResource: "faded", ofType:"mp3")! 
let url = NSURL(fileURLWithPath: path) 

do { 
     let sound = try AVAudioPlayer(contentsOf: (url as NSURL) as URL) 
     bombSoundEffect.play() 

    } catch { 
     print("couldn't load file :(") 
    } 
    if bombSoundEffect != nil { 
     bombSoundEffect.stop() 
     bombSoundEffect = nil 
     } 

但是,當我點擊按鈕,我的文件不播放。這首歌曲正常播放完美。

+0

除此之外,您還應該使用原來的問題問題具有擴展名的資源的綁定方法url –

+2

您不會將任何內容分配給'bombSoundEffect' –

回答

2

有很多你的代碼錯誤,但它是一個晴朗的日子,所以嘗試這樣的事情......

func playSound() { 
    guard let url = Bundle.main.url(forResource: "faded", withExtension: "mp3") else { return } 

    let bombSoundEffect = try? AVAudioPlayer(contentsOf: url) 
    bombSoundEffect?.play() 
} 
4

嘗試與後續代碼:

var bombSoundEffect: AVAudioPlayer? 

func playAudio() { 
    let url = Bundle.main.url(forResource: "faded", withExtension: "mp3")! 

    do { 
     bombSoundEffect = try AVAudioPlayer(contentsOf: url) 
     guard let bombSound = bombSoundEffect else { return } 

     bombSound.prepareToPlay() 
     bombSound.play() 
    } catch let error { 
     print(error.localizedDescription) 
    } 
}