所以我看到在 Swift 3 中播放音频的方式是
do {
audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "name", ofType: "mp3")!))
audioPlayer.prepareToPlay()
audioPlayer.play()
}
catch {
print(error)
}
但我想要一个名为 string 的变量,而不是设置“name”字符串,它可以是与不同文件名对应的 100 个不同字符串之一。 Swift 不允许通过简单地将 string 代替“name”来实现这一点,那么修复方法是什么?
最佳答案
我不明白为什么这不起作用:
var audioPlayer: AVAudioPlayer!
let string = "name"
if let path = Bundle.main.path(forResource: string, ofType: "mp3") {
let url = URL(fileURLWithPath: path)
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
audioPlayer.prepareToPlay()
audioPlayer.play()
}
catch {
print(error)
}
}
无论如何,调用字符串变量 string 可能不是最佳实践。也许您应该将其称为“资源”、“资源名称”或“文件名称”?
关于ios - swift 3 : Playing Audio based on a string variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42985602/