这是我到目前为止所尝试的:
self.audioEngine = AVAudioEngine()let input = self.audioEngine.inputNodelet mixer = self.audioEngine.mainmixerNodelet output = self.audioEngine.outputNodeself.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)
当我跑这个时,我听到了音频 – 但它来自我的耳机麦克风,而不是吉他.如何连接来自闪电端口的音频?
为了快速说明,这是我正在使用的硬件:
解决方法 要连接到特定的音频输入,需要使用setPreferredinput:error:方法配置AVAudioSession的sharedInstance.以下是Objective-C中的完成方式:
AVAudioSession *sharedSession = [AVAudioSession sharedInstance];NSArray *availableinputs = [sharedSession availableinputs];[availableinputs enumerateObjectsUsingBlock:^(AVAudioSessionPortDescription *portDescription,NSUInteger IDx,BOol *stop) { if (portDescription.portType == AVAudioSessionPortUSBAudio) { [sharedSession setPreferredinput:portDescription error:nil]; }}];
要了解更多信息,请查看:
> AVAudioSession documentation
> Technical Q&A QA1799: AVAudioSession – Microphone Selection
以上是内存溢出为你收集整理的ios – 如何将AVAudioEngine连接到Lightning Port音频输入?全部内容,希望文章能够帮你解决ios – 如何将AVAudioEngine连接到Lightning Port音频输入?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)