【问题标题】:Only one SCNAudioPlayer node plays positionally只有一个 SCNAudioPlayer 节点按位置播放
【发布时间】:2016-05-13 20:25:12
【问题描述】:

我真的很想知道这个奇怪的答案,因为我昨天整晚都在努力把它压扁,不想再睡一个不眠之夜。

我有一个 SCNScene,其中包含正确放置的相机、节点等,并向场景中的 3 个节点添加了 3 个音频播放器。它们的加载方式完全相同,但只有一个是定位的,而另外两个像环境声音一样保持静止。

让我进一步解释:

我用 node.position = SCNVector3(x,y,z) 加载每个节点 我有一个定向 keyDown 事件监听器,它改变场景中音频监听器节点 + 或 - 的方向。

音频播放器加载音量为 1.0 looping = true 和 positional = true。

加载了 3 个不同的源文件,.mp3 .wav 和 .aiff(后者是 NSSpeechSynthesis 的动态到 pcm 渲染)

所有三种声音都加载并可以听到,但只有一种改变了位置(pcm 格式)。

我将声音源文件与节点一起打乱了,我得到了奇怪的结果,例如没有加载,或者加载但不再定位。

这不是您所期望的行为,并且是完全随机的(或者看起来如此)。

谁能帮我弄清楚为什么我在场景中只能有 1 个位置节点?

谢谢,

【问题讨论】:

    标签: swift macos


    【解决方案1】:

    好的,经过更多的摆弄,我发现了问题。

    似乎文件必须是 .pcm 格式才能加载到 audioEngine 缓冲区。

    它适用于我想要的任意数量的音频源,但我希望能够加载任何文件格式并让它们正常运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 2017-12-21
      相关资源
      最近更新 更多