【发布时间】:2023-03-14 20:00:01
【问题描述】:
我正在使用 Swifty Sounds 可可豆荚,但无法播放声音。这是我调用来播放声音的函数:
func playSound() {
// Sound.play(file: "ding.wav")
duckVolume()
guard let fileUrl = Bundle.main.path(forResource: "ding", ofType: "wav") else {
print("cannot find file")
return
}
guard let sound = Sound(url: URL(fileURLWithPath: fileUrl)) else {
print("cant play sound")
return
}
print("playing sound")
Sound.enabled = true
Sound.category = .playAndRecord
sound.play()
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
self.UnduckVolume()
}
}
控制台打印“正在播放声音”,这表明它正在找到正确的文件,但没有播放声音。有趣的是,被注释掉的函数的第一行播放声音没有问题。但是,使用该功能使我无法控制音量,因此我无法使用它。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
你在这一行有可选的
sound?.play()。确保 optional 不为零,例如guard let sound = sound else { print("no sound") }; sound.play() -
感谢 Kiril 的回复,我已经更新了原始问题,确保声音对象不为零。但是,我得到了相同的结果,打印了“正在播放的声音”,但没有播放任何声音。