无法在 SpriteKit 中获取 skAudioNode 的 3D 音频效果
Cannot get the 3D Audio effect for skAudioNode in SpriteKit
我正在试用 WWDC 2015 中宣布的新 skAudioNode。我是 swift 和 spriteKit 的新手。
首先,在 sks 编辑器中,我将一个音频对象拖到场景中,并命名为 audioNodeRed,它附加到一个视觉上红色的 sprikit 节点。我在编辑器中给这个节点指定了一个wav文件link。
在GameScene.swift中,我写道:
let redNode:SKAudioNode = childNodeWithName("//audioNodeRed") as! SKAudioNode;
let actionPlaySound = SKAction.play()
redNode.runAction(actionPlaySound)
最后一行将因错误而崩溃:由于未捕获的异常 'com.apple.coreaudio.avfaudio' 而终止应用程序,原因:'required condition is false: _engine->IsRunning()'
我通过指定要通过代码操作的 wav 文件来修复它(xcode 错误?)
let actionPlaySound =SKAction.playSoundFileNamed("Crackling_Fireplace.wav", waitForCompletion: false)
好的,现在我可以听到声音了,但是如果我移动节点没有3d音效,我已经指定了场景的听者位置(仍然在GameScene.swift):
//sprite is a skSpriteNode in the center of the screen
self.listener = sprite
另一件事是我无法访问 Apple documentation 中指定的 avaudioengine 属性。例如
redAudioNode.avAudioNode //SKAudioNode does not have a member named "avAudioNode"
myScene.audioEngine //SKScene does not have a member named "audioEngine"
我正在使用 XCode 7 beta version4。我想知道我是否在这里做错了什么,或者原因是 ios9 框架仍处于测试阶段。感谢您的帮助。
------------添加----------------
好的,进入后台再回到应用程序,我得到了 3d 音频效果。
好的,我自己解决了问题,显然是sks编辑器出了问题。
如果我在代码中而不是在编辑器中执行此操作,我会听到 3D 音效。
audioNodeRed.positional = true
audioNodeRed.autoplayLooped = true
我正在试用 WWDC 2015 中宣布的新 skAudioNode。我是 swift 和 spriteKit 的新手。
首先,在 sks 编辑器中,我将一个音频对象拖到场景中,并命名为 audioNodeRed,它附加到一个视觉上红色的 sprikit 节点。我在编辑器中给这个节点指定了一个wav文件link。
在GameScene.swift中,我写道:
let redNode:SKAudioNode = childNodeWithName("//audioNodeRed") as! SKAudioNode;
let actionPlaySound = SKAction.play()
redNode.runAction(actionPlaySound)
最后一行将因错误而崩溃:由于未捕获的异常 'com.apple.coreaudio.avfaudio' 而终止应用程序,原因:'required condition is false: _engine->IsRunning()'
我通过指定要通过代码操作的 wav 文件来修复它(xcode 错误?)
let actionPlaySound =SKAction.playSoundFileNamed("Crackling_Fireplace.wav", waitForCompletion: false)
好的,现在我可以听到声音了,但是如果我移动节点没有3d音效,我已经指定了场景的听者位置(仍然在GameScene.swift):
//sprite is a skSpriteNode in the center of the screen
self.listener = sprite
另一件事是我无法访问 Apple documentation 中指定的 avaudioengine 属性。例如
redAudioNode.avAudioNode //SKAudioNode does not have a member named "avAudioNode"
myScene.audioEngine //SKScene does not have a member named "audioEngine"
我正在使用 XCode 7 beta version4。我想知道我是否在这里做错了什么,或者原因是 ios9 框架仍处于测试阶段。感谢您的帮助。
------------添加----------------
好的,进入后台再回到应用程序,我得到了 3d 音频效果。
好的,我自己解决了问题,显然是sks编辑器出了问题。
如果我在代码中而不是在编辑器中执行此操作,我会听到 3D 音效。
audioNodeRed.positional = true
audioNodeRed.autoplayLooped = true