核心音频:使用扬声器,是否可以路由到内置扬声器-AVAudioSessionPortBuiltInReceiver(不对扬声器)

时间:2016-02-22 05:56:19

标签: ios swift core-audio avaudiosession

根据文档,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可能,是否可以实现相同的目的?。

2 个答案:

答案 0 :(得分:3)

如果您将音频会话配置为播放和录音(并与其他人保持混音),iPhone上的默认路线就会播放较小的耳机(而不是底部较大的扬声器)的音频如果用户插入耳机,则插入耳机或插入耳机。

答案 1 :(得分:0)

Apple称他们为“接收器”(即顶级耳机)和扬声器。

在这两者之间切换:

UIBarButtonItem

如果您使用 false 进行通话,则会播放 override = .speaker

低级发言人。

根据2017年6月的型号,它不适用于iPad ..

Apple声明:

https://developer.apple.com/documentation/avfoundation/avaudiosessionportbuiltinreceiver

AVAudioSessionPortBuiltInReceiver(听筒......)

输出到靠近耳朵的扬声器。 .. 通常,此扬声器仅适用于iPhone设备。

(颜色用于调试......)