iOS Swift:声音没有播放
Posted
技术标签:
【中文标题】iOS Swift:声音没有播放【英文标题】:iOS Swift: Sound not playing 【发布时间】:2015-06-22 17:42:00 【问题描述】:在我的 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 有一个值,它不是 nil。
没有错误,但声音不播放。
【问题讨论】:
检查您计算机上的音量 Arbitur> 音量很好,我可以在应用程序外播放doorbell.mp3 文件。所以要么我的代码错误,要么与模拟器有关.... 【参考方案1】:您只需要将您的 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)
【讨论】:
Leo> 是的,这行得通...谢谢,如果您也能添加一个小解释,说明为什么搬出时这行得通。 如果你在方法中声明你的播放器,它会在执行完你的方法后立即消失。以上是关于iOS Swift:声音没有播放的主要内容,如果未能解决你的问题,请参考以下文章