【发布时间】:2016-12-08 08:56:07
【问题描述】:
我正在尝试使用 Sprite Kit 中的前后声道播放定位音频,并在 Apple TV 设备上进行测试。
我正在使用以下代码:
let musicURL = NSBundle.mainBundle().URLForResource("music", withExtension: "m4a")
let music = SKAudioNode(URL: musicURL!)
addChild(music)
music.positional = true
music.position = CGPoint(x: 0, y: 0)
let moveForward = SKAction.moveToY(1024, duration: 2)
let moveBack = SKAction.moveToY(-1024, duration: 2)
let sequence = SKAction.sequence([moveForward, moveBack])
let repeatForever = SKAction.repeatActionForever(sequence)
music.runAction(repeatForever)
我想要实现的是从前声道到后声道的声音,但 Sprite Kit 似乎只使用 2 声道立体声输出。
如果我使用 moveToX 而不是 moveToY,我会听到从左向右平移的声音。
我肯定缺少一些初始化代码来表示我想要 5.1 声音输出,但我不确定 SKAudioNode 位置功能是否仅适用于 2 声道立体声输出。
在 Sprite Kit 中是否可以实现具有 2 个以上通道的位置音频,或者我应该求助于 AVFoundation 甚至 OpenAL 来实现这一点?
我用 SceneKit 尝试过类似的代码,它似乎也只使用 2 个通道来处理位置音频。
【问题讨论】:
-
从我在文档中阅读的内容来看,原因可能是底层 AVAudioEnvironmentNode 未配置正确的音频通道布局。
标签: ios audio sprite-kit apple-tv