gpt4 book ai didi

swift - SKAudioNode 播放一次声音

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:56 25 4
gpt4 key购买 nike

我似乎找不到很多关于 SKAudioNode 的信息。我如何只播放一次声音?我不想重复这个声音。

我想要完成的是在每次子弹产生时在 spritekit 中播放短激光声。

最佳答案

不幸的是,@KnightOfDragon 所说的是不正确的(但我没有足够的声誉来发表评论)。

SKAudioNode 已在 iOS 9 中引入,旨在替代 SKAction.playSoundFileNamed(...) 因为它更强大(您可以添加它作为 SpriteKit SKNode 的子项,如果属性 positional 设置为 true,则会自动添加 3D 音频混合。

为了使用 SKAudioNode 播放一次声音,请使用以下代码:

if #available(iOS 9, *) {
let pling = SKAudioNode(fileNamed: "pling.wav")
// this is important (or else the scene starts to play the sound in
// an infinite loop right after adding the node to the scene).
pling.autoplayLooped = false
someNode.addChild(pling)
someNode.runAction(SKAction.sequence([
SKAction.waitForDuration(0.5),
SKAction.runBlock {
// this will start playing the pling once.
pling.runAction(SKAction.play())
}
])
}
else {
// do it the old way
}

更新

在这里看看,如何在音频节点上使用 Actions:SKAction->Audio-Stuff .文档说:

Use SKAction playSoundFileNamed:waitForCompletion: only for short incidentals. Use AVAudioPlayer for long running background music.

意味着SKAudioNode 不应该用于一次性音频。使用 playSoundFileNamed,您无法更改音量或暂停/停止播放等。

关于swift - SKAudioNode 播放一次声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34358389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com