iOS Swift:声音无法播放

时间:2015-06-22 17:42:01

标签: ios iphone swift audio

在我的iOS Swift应用程序中,我试图点击按钮播放声音。

func playSound()
    {
        var audioPlayer = AVAudioPlayer()
        let soundURL = NSBundle.mainBundle().URLForResource("doorbell", withExtension: "mp3")
        audioPlayer = AVAudioPlayer(contentsOfURL: soundURL, error: nil)
        audioPlayer.play()
}

我正在iOS iPhone模拟器中运行该应用程序。 我已将doorbell.mp3添加到应用程序中。在调试模式下,我可以看到soundURL有一个值,它不是零。

没有错误,但声音没有播放。

1 个答案:

答案 0 :(得分:8)

您只需要将audioPlayer的声明移出您的方法。试试这样:

Swift 3或更高版本

var audioPlayer = AVAudioPlayer()

func playSound() throws {
    let url = Bundle.main.url(forResource: "doorbell", withExtension: "mp3")!
    audioPlayer = try AVAudioPlayer(contentsOf: url)
    audioPlayer.prepareToPlay()
    audioPlayer.play()
}
do { 
    try playSound() 
} catch { 
    print(error)
}