我一直在调查AVAudioSessionRouteChangeReason通知。 其中之一是
AVAudioSessionRouteChangeReasonRouteConfigurationChange
根据Apple文件: AVAudioSessionRouteChangeReasonRouteConfigurationChange
输入和输出端口集没有改变,但是它们的配置有 - 例如,端口的选定数据源已经改变。
在哪种情况下可以调用AVAudioSessionRouteChangeReasonRouteConfigurationChange并不是很清楚。如果有人可以举例说明某个端口所选数据源的含义是什么?
由于
答案 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)>"
)>
所以看起来麦克风的选定数据源从空变为底。