[英]SwiftySound doesn't work in Swift
我使用SwiftySound在我的应用程序(射击游戏)中实现了音效 。 但是,如果在触摸目标时设置了声音,则有时不会播放声音。
我不知道为什么有时播放但有时不播放。
码:
class ViewController: ViewController {
var soundManager: SoundManager = SoundManager()
//.....
func touchedTarget(){
soundManager.playSE()
}
}
class SoundManger {
let tapSE: Sound = Sound(url:Bundle.main.url(forResource: "tap", withExtension: "mp3")!)!
init(){
}
func playSE {
tapSE.play(numberOfLoops: 0, completion: nil)
}
}
编辑
1.在“ playSE”中添加了“ DispatchQueue.main.async {}”,但无效。
func playSE {
DispatchQueue.main.async {
tapSE.play(numberOfLoops: 0, completion: nil)
}
}
2.在“ touchedTarget()”中添加了“ DispatchQueue.main.async {}”,但无效。
func touchedTarget(){
DispatchQueue.main.async {
soundManager.playSE()
}
}
问题可能是当您应该在主线程上时在后台线程上调用它。
在您的视图控制器或任何要调用声音的地方,请尝试使用:
DispatchQueue.main.async {
SoundManager().playSE()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.