根据文档,Ther没有关于路由甚至获取" AVAudioSessionPortBuiltInReceiver"的端口详细信息的文档。 (注意:请再次阅读,不是关于此端口AVAudioSessionPortBuiltInSpeaker
)。
正如我发现的那样,只有overrideOutputAudioPort
只能用于
public enum AVAudioSessionPortOverride : UInt {
case None
case Speaker
}
问题是,是否有可能通过以下方式播放音频:
public let AVAudioSessionPortBuiltInReceiver: String /* The speaker you hold to your ear when on a phone call */
修改
使用MPVolumeView
类(RouteButton)列出(路由到)AVAudioSessionPortBuiltInReceiver可能,是否可以实现相同的目的?。
答案 0 :(得分:3)
如果您将音频会话配置为播放和录音(并与其他人保持混音),iPhone上的默认路线就会播放较小的耳机(而不是底部较大的扬声器)的音频如果用户插入耳机,则插入耳机或插入耳机。
答案 1 :(得分:0)
在这两者之间切换:
UIBarButtonItem
如果您使用 false 进行通话,则会播放 override = .speaker
低级发言人。
根据2017年6月的型号,它不适用于iPad ..
Apple声明:https://developer.apple.com/documentation/avfoundation/avaudiosessionportbuiltinreceiver
AVAudioSessionPortBuiltInReceiver(听筒......)
输出到靠近耳朵的扬声器。 .. 通常,此扬声器仅适用于iPhone设备。
(颜色用于调试......)