我一直在探索Scene Kit/ARKit中的位置音频,并想知道是否有可能在这种情况下使用AudioKit来受益于其用于分析,声音生成,效果等的高级工具。
对于某些背景,SCNView附带了一个AVAudioEnvironmentNode,一个AVAudioEngine和一个AudioListener(SCNNode)。这些属性已初始化,并且环境节点已配置到引擎。位置音频源通过SCNAudioPlayer添加到场景,可以使用AVAudioNode进行初始化-AVAudioNode必须连接到环境节点并具有单声道输出。
然后,将SCNAudioPlayer添加到场景中的SCNNode,并根据其在场景中的位置以及audioListener节点的位置和方向自动进行AVAudioNode的输出修改。
我的希望是,可以使用SCNView的AVAudioEngine属性初始化AudioKit,在引擎的节点图中配置SCNView的环境节点,使用AKNodes的AVAudioNode属性初始化SCNAudioPlayers,并确保所有源均正确连接到环境节点。我已经开始修改AudioKit源代码,但是在弄清楚我需要适应哪些类以及如何将环境节点集成到AudioKit管道中时遇到麻烦。特别是我在理解connectionPoints和outputNode属性时遇到了麻烦。
有没有人相信AudioKit的结构是不可能的,或者是否有关于方法的指针?
我当然很乐意分享我的任何发现。
最佳答案
AudioKit在AudioKit.swift的第38行创建自己的AVAudioEngine实例:
https://github.com/AudioKit/AudioKit/blob/master/AudioKit/Common/Internals/AudioKit.swift#L38
但它是开放的,因此应该可以用SceneView的音频引擎覆盖它。我看不到有什么可以阻止它的。
关于ios - SceneKit/ARKit中带有AudioKit的位置音频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47082552/