iOS8 AVAudioEngine如何将麦克风输入路由到(底部)扬声器输出?

iOS8 AVAudioEngine如何将麦克风输入路由到(底部)扬声器输出?,ios8,avfoundation,core-audio,avaudioplayer,avaudiosession,Ios8,Avfoundation,Core Audio,Avaudioplayer,Avaudiosession,我已经能够连接AVAudioInputNode(接收麦克风输入数据)并将其连接到AVAudioEngine。如果我把手机放得离耳朵足够近,我就能听到(上方)扬声器的输出。如何将音频输出路由到(底部)扬声器?(把它想象成一个扬声器.)获取您的音频会话的共享状态。然后调用setCategory:withOptions:error传入以下参数: [[AVAudioSession sharedInstance]设置类别:AvaudioSessionCategoryPlay并记录选项:AVAudioSes

我已经能够连接AVAudioInputNode(接收麦克风输入数据)并将其连接到AVAudioEngine。如果我把手机放得离耳朵足够近,我就能听到(上方)扬声器的输出。如何将音频输出路由到(底部)扬声器?(把它想象成一个扬声器.)

获取您的
音频会话的
共享状态。然后调用
setCategory:withOptions:error
传入以下参数:


[[AVAudioSession sharedInstance]设置类别:AvaudioSessionCategoryPlay并记录选项:AVAudioSessionCategoryOptionDefaultToSpeaker错误:Nil]

以下是我在swift中的操作方法

//In declarations
var audioSession:AVAudioSession = AVAudioSession.sharedInstance()
//In viewDidLoad 
audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord, withOptions: AVAudioSessionCategoryOptions.DefaultToSpeaker, error: nil)

你好,尼克,谢谢你的回复。我试着设置音频会话,但我从(底部)扬声器中听到乱七八糟的环境噪音,如果我说了什么,扬声器中就没有声音……那么代码中的其他地方就有问题了。针对低音扬声器发出的“胡言乱语”噪音,发布一个新问题,发布相关代码,我们可以从那里开始。嗨,尼克,看起来你在音频相关方面有经验。你能看看我的其他相关问题吗?谢谢。如何通过网络发送PCMBuffer?我使用MultiPier发送,但我不知道如何在didReceiveData中将其转换回AVAudioPCMBuffer。这是我的发送代码:
mcpeerind*remotePeerID=[self.sessionMC.connectedPeers objectAtIndex:0];NSArray*peersArray=@[remotePeerID];n错误*错误=nil;NSData*data=[NSData dataWithBytes:buffer.floatChannelData-length:buffer.frameLength];[self.sessionMC sendData:data-toPeers:peersArray with-mode:MCSessionSendDataReliable-error:&error];if(error){NSLog(@“error:%@,[error localizedDescription]);}
谢谢!:)但我得到了对成员“setCategory”的模糊引用。
错误。对我来说,它通过删除错误部分(Swift 2.2):
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord,带有选项:AVAudioSessionCategoryOptions.DefaultToSpeaker)