我的 Sprite Kit 游戏第一次播放音频变慢?

Posted

技术标签:

【中文标题】我的 Sprite Kit 游戏第一次播放音频变慢?【英文标题】:First time audio playing getting slow my Sprite Kit game? 【发布时间】:2016-12-09 10:20:00 【问题描述】:

我是 Sprite Kit 的新手,我有一个简短的音效要在函数中播放。我在该函数中尝试了如下所示的 AVFoundation 和 SKAudioNode。但我发现它触发了我的 SKActions 的一些卡住。我该如何解决这个播放问题。它看起来是在等待完成还是有什么不同?

        let audioNode = SKAudioNode(fileNamed: "catch")
        audioNode.autoplayLooped = false
        self.addChild(audioNode)
        let playAction = SKAction.play()
        audioNode.run(playAction)

【问题讨论】:

您要播放什么样的声音文件? .mp3、.wav、.caf? @Whirlwind 我正在使用 .wav 好的,所以声音很短对吧?除此之外,您还有其他代码吗?您是否尝试隔离它并查看它是否按描述工作? 你试过SKAction.playSoundFileNamed("catch", waitForCompletion: false)而不是SKAction.play()吗? 我已经添加了适合您的解决方案作为答案,因此任何有相同问题的人都可以更轻松地找到答案。 【参考方案1】:

还有一个播放声音文件的动作, 您可以使用 SKAction.playSoundFileNamed("catch", waitForCompletion: false) 而不是SKAction.play()

在Apple Documentation中有对waitForCompletion在做什么的完整解释

【讨论】:

以上是关于我的 Sprite Kit 游戏第一次播放音频变慢?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 如何在 Sprite Kit 游戏中创建音频淡入/淡出效果?

为啥我的音频会在 Sprite Kit 场景转换之前播放?

Sprite Kit 加载速度慢

在 Sprite Kit 游戏中重置 SKScene

如何使用 Swift 2(Xcode 7)在我的 Sprite Kit 游戏中为背景音乐设置静音按钮?

在我的 Sprite-Kit 游戏中实现这个动作的正确方法是啥?