繁体   English   中英

SwiftySound在Swift中不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM