iOS Swift:声音未播放



在我的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模拟器中运行该应用程序。我已将门铃.mp3添加到应用程序中。在调试模式下,我可以看到soundURL有一个值,它不是nil。

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

您只需要将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)
}

最新更新