即使连接了带麦克风的耳机,我也需要使用内置iPhone麦克风。如何以编程方式进行设置?
答案 0 :(得分:0)
使用Sivajee Battina的建议解决问题。这就是我的工作方式:
NSArray *inputs = [audioSession availableInputs];
for (AVAudioSessionPortDescription *desc in inputs)
{
NSString *portType = [desc portType];
if ([portType isEqualToString: AVAudioSessionPortBuiltInMic])
{
[audioSession setPreferredInput: desc error: &error];
break;
}
}
仍然将他的答案标记为正确答案。
答案 1 :(得分:-1)
摘自 Apple Docs:
为音频路由设置首选输入端口。
func setPreferredInput(_ inPort: AVAudioSessionPortDescription?) throws
设置首选输入端口请求更改输入音频路由。要确定更改是否生效,请使用
currentRoute
财产。 inPort参数的值必须是其中一个AVAudioSessionPortDescription对象 availableInputs 数组。如果此参数指定的端口不是当前音频路由的一部分且应用程序的会话控制音频路由,则此方法会启动路由更改以使用首选端口。您必须在设置音频会话类别后才设置首选输入端口和模式并激活会话。