首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获得skAudioNode在SpriteKit中的3D音频效果

无法获得skAudioNode在SpriteKit中的3D音频效果
EN

Stack Overflow用户
提问于 2015-07-29 11:30:05
回答 1查看 814关注 0票数 3

我正在试验新的skAudioNode,它是在2015年世界互联网大会上宣布的。我是斯威夫特和spriteKit的新手。

首先,在sks编辑器中,我将一个音频对象拖到场景中,并给出一个名为audioNodeRed的名称,该名称附加到一个可视化的红色sprikit节点上。我在编辑器中指定到此节点的wav文件链接。

在GameScene.swift中,我写道:

代码语言:javascript
复制
let redNode:SKAudioNode = childNodeWithName("//audioNodeRed") as! SKAudioNode;
let actionPlaySound = SKAction.play()
redNode.runAction(actionPlaySound)

最后一行将出现错误:终止应用程序,原因是uncaught‘com.apple.coreaudo.avf音频’,原因是:“所需条件为false:_engine->IsRunning()”

我通过指定wav文件来修正它,使其按代码操作(xcode bug?)

代码语言:javascript
复制
let actionPlaySound =SKAction.playSoundFileNamed("Crackling_Fireplace.wav", waitForCompletion: false)

好的,现在我可以听到声音了,但是如果我移动节点,就没有3d音频效果,我已经指定了场景的侦听器位置(仍然在GameScene.swift中):

代码语言:javascript
复制
//sprite is a skSpriteNode in the center of the screen
self.listener = sprite

另一件事是,我无法访问苹果文档中指定的avaudioengine属性。例如:

代码语言:javascript
复制
  redAudioNode.avAudioNode //SKAudioNode does not have a member named "avAudioNode"
  myScene.audioEngine   //SKScene does not have a member named "audioEngine"

我正在使用XCode 7测试版version4。我想知道我在这里是否做错了什么,或者原因是ios9框架仍然处于测试版。谢谢你的帮助。

好的,我得到了3d音频效果,通过进入背景,然后再回到应用程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-30 13:11:18

好的,我自己解决了问题,很明显sks编辑器有问题。

如果我在代码中而不是在编辑器中这样做,我会听到3D声音效果。

代码语言:javascript
复制
 audioNodeRed.positional = true
 audioNodeRed.autoplayLooped = true
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31699219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档