【发布时间】:2015-03-20 19:39:49
【问题描述】:
我想将我的电吉他连接到我的应用。我有硬件(Line6 Sonic Port)将音频从我的吉他传递到我的 iPhone。我已经想出了如何让我的耳机播放音频,但音频来自我的耳机麦克风,而不是闪电端口输入。 如何以编程方式查找 Lightning Port 音频输入,而不是通过耳机麦克风获取音频?
这是我迄今为止尝试过的:
self.audioEngine = AVAudioEngine()
let input = self.audioEngine.inputNode
let mixer = self.audioEngine.mainMixerNode
let output = self.audioEngine.outputNode
self.audioEngine.inputNode.installTapOnBus(0, bufferSize: 128, format: input.inputFormatForBus(0)) { (buffer, time) -> Void in
//
}
self.audioEngine.connect(input, to: mixer, format: input.inputFormatForBus(0))
self.audioEngine.connect(mixer, to: output, format: mixer.inputFormatForBus(0))
self.audioEngine.prepare()
self.audioEngine.startAndReturnError(nil)
当我运行它时,我听到了音频 - 但它来自我的耳机麦克风,而不是吉他。如何连接来自 Lightning 端口的音频?
为了快速说明,这里是我正在使用的硬件:
【问题讨论】:
-
我之前没用过AVAudioEngine。我也没有使用过 Line6 声波端口 - 任何一个都可以。我在 Apogee Jam 中使用了早期的 Core Audio 框架,并且在连接时它“正常工作”。耳机是否连接到 Sonic 端口(我看到侧面有一个插孔)?你能改变输入节点上的输入节点/设置吗?
-
您的输入设备是否显示在
AVAudioSession.availableInputs中?
标签: ios audio core-audio avaudioengine