在哪种情况下可以调用AVAudioSessionRouteChangeReasonRouteConfigurationChange

时间:2017-10-03 08:54:39

标签: ios avaudiosession

我一直在调查AVAudioSessionRouteChangeReason通知。 其中之一是

AVAudioSessionRouteChangeReasonRouteConfigurationChange 

根据Apple文件: AVAudioSessionRouteChangeReasonRouteConfigurationChange

输入和输出端口集没有改变,但是它们的配置有 - 例如,端口的选定数据源已经改变。

在哪种情况下可以调用AVAudioSessionRouteChangeReasonRouteConfigurationChange并不是很清楚。如果有人可以举例说明某个端口所选数据源的含义是什么?

由于

1 个答案:

答案 0 :(得分:1)

我正在寻找' Doc'回答也是,但我也可以提供一些例子。电话结束后我收到了AVAudioSessionInterruptionTypeEnded通知,就在这之后:

{   
AVAudioSessionRouteChangePreviousRouteKey = "<AVAudioSessionRouteDescription: 0x1c001e380, \ninputs = (null); \noutputs = (\n    \"<AVAudioSessionPortDescription: 0x1c001e4d0, type = Speaker; name = G\\U0142o\\U015bnik; UID = Speaker; selectedDataSource = (null)>\"\n)>";    
AVAudioSessionRouteChangeReasonKey = 8;
}

和新路线是:

<AVAudioSessionRouteDescription: 0x1c401de70, 
inputs = (
    "<AVAudioSessionPortDescription: 0x1c401dac0, type = MicrophoneBuiltIn; name = iPhone Mikrofon; UID = Built-In Microphone; selectedDataSource = Bottom>"
); 
outputs = (
    "<AVAudioSessionPortDescription: 0x1c401df10, type = Speaker; name = G\U0142o\U015bnik; UID = Speaker; selectedDataSource = (null)>"
)>

所以看起来麦克风的选定数据源从空变为底。