问题标签 [skaudionode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
75 浏览

ios - SKAudioNode 只播放单声道音乐

我在开发一个SpriteKit游戏,遇到了一个问题:SKAudioNode实例只播放我的游戏的单声道背景音乐。

我的SKScene课堂上有以下实例:

以下方法加载并播放背景音乐:

它播放音乐很好,唯一的问题是它似乎是单声道(或使用某种 3D 空间音频效果)。我该如何解决?我已经尝试将SKAudioNode's isPositional属性设置为false无济于事。

0 投票
1 回答
109 浏览

ios - SKVideoNode 停止播放 SKAudioNode

我正在尝试将背景视频和背景音乐添加到我正在创建的游戏中。为此,我正在创建一个 SKVideoNode 和一个 SKAudioNode。当我运行游戏时,视频播放正常,但大多数时候音乐不播放。如果没有创建 SKVideoNode,它就可以正常工作。我也尝试为音乐创建一个 AVAudioPlayer ,但这使得音乐播放的时间更少。我还尝试更改元素呈现的顺序,但这也没有做任何事情。有谁知道发生了什么?

0 投票
0 回答
116 浏览

sprite-kit - 为 SKAudioNode 创建一个 SKAction 扩展

我决定断绝我与 SKAction.playSoundFileNamed 的痛苦关系,并继续在我们的项目中使用 SKAudioNodes —— 断点是它们完全被中断而没有任何一致性。

我们正在尝试为 SKAction st 创建一个扩展,它将模拟播放 SKAudioNodes 而不会增加延迟,类似于将 playSoundFileNamed 中的 waitForCompletion 属性设置为 false 时。但是,我们正在添加 SKAudioNode,然后在短时间内(3.0 秒)处理它,但在扩展中,这会在任何操作上增加 3.0 秒的延迟。我认为我们必须有这个延迟然后删除,否则我们将不必要地积累 SKAudioNodes。这是我们当前的代码:

有没有人以类似的临时方式使用 SKAudioNodes 并在 SKAction 序列中使用它们,并对实现这一点的最佳方式有任何想法?

0 投票
0 回答
129 浏览

ios - 复制 SKAudioNode 对象的问题

我目前正在字典中预加载音效,例如:

这样做可以让我预加载游戏中的所有音效,并根据需要请求音效。出于演示目的,我对此进行了简化:

让 fxBoom = soundEffectsDictionary[SoundEffectType.fxBoom]!.copy() 为!SKAudioNode

SKSpriteNodes这对,等以相同的方式起作用SKTextures。但是,似乎SKAudioNode不能以这种方式生成副本。当我尝试将副本添加到屏幕时,它们无法播放。

  1. 我怎样才能正确复制SKAudioNode?如果我想玩 fxBoom 两次,重叠,那么我需要两个单独的节点。出于性能原因,我不想从磁盘加载文件,这就是我尝试预加载声音的原因。

  2. 有没有更好的方法来实现我在这里尝试做的事情?

提前致谢。

编辑:

这是一些演示该问题的简单代码:

0 投票
1 回答
96 浏览

ios - 当我只创建一个时,为什么会有多个 SKSpriteNode 和 SKAudioNode 对象?

我创建了一个 SKSpriteNode 对象,但创建了多个对象,显示为它们的字符串。来自 SKAudioNode 对象的声音也被多次复制以产生混响效果。

这是下面的代码。当我在 didBegin 回调方法中添加代码以将physicsBody 对象的固定属性设置为true 时,我注意到它这样做了。

这是一个屏幕截图。注意有多个爆炸 SKSpriteNode 对象。我只为爆炸创建了一个 SKSpriteNode 对象。

多起汽车爆炸

我怀疑某处有一个设置可以更改以禁用此效果。

0 投票
1 回答
94 浏览

ios - SKAudioNode 是否有等效的 isPlaying()?

在确定 SKAction.playSoundFileNamed 不仅有错误和泄漏,而且在 IAP 中断期间(不是 OK,Apple),我正在为我们的游戏尝试其他音效选项。我们正在尝试使用 SKAudioNodes,但问题是我们有重叠的音效。我们想使用一个系统,其中我们有一个 SKAudioNodes 队列,它们具有相同的效果:例如,audioNode1、audioNode2、audioNode3,都带有声音“fxmatch”,如果 audioNode1.isPlaying(),那么我们将继续排队到 audioNode2,然后是 audioNode3,等等。我们已经为 AVAudioPlayer 提供了类似的语法,我们在其中检查 isPlaying()。SKAudioNodes 是否有一些等效的方法?

0 投票
0 回答
83 浏览

swift - 禁用自动播放的 iOS 13 崩溃 SKAudioNode

从 iOS 13 开始,我的应用程序在view.presentScene(scene)( EXC_BAD_ACCESS (code=EXC_I386_GPFLT)) 上崩溃。仅当场景SKAudioNode禁用了自动播放功能时,才会发生这种情况。

可以通过使用 SpriteKit 创建一个新的 Project->Game 来重现该错误。只需添加一个SKAudioNodeGameScene.sks停用自动播放。

这可能与AVAudio Player 中的 iOS 13.1 Crash有关。

0 投票
0 回答
38 浏览

swift - App宕机后SKAudioNode问题,重启,这是bug吗?

我的 SKAudioNode 有问题。游戏以 Home 键结束。将播放一个音频文件。

当我返回时,音频文件将继续播放。

我想阻止它。

我尝试了很多事情,但没有成功。

self.AudioNodeSet.removeFromParent()// 不起作用

self.AudioNodeSet.run(SKAction.stop())// 也不起作用

谁能帮我?

此代码在游戏继续时执行。

然后可以听到音频文件的其余部分。

0 投票
1 回答
46 浏览

swift - How come addChild() results in cannot convert value of type SKAudioNode to expected argument type UIViewController?

I copied the code below from a tutorial. However, an error about addChild pops up. It says, "Cannot convert value of type 'SKAudioNode' to expected argument type 'UIViewController'". How can I fix this?