AVAudioSession.Orientation не имеет констант, определенных в Swift. Если одному из них присваивается значение AVAudioSession.Location, как мы можем сравнить его со значением типа AVAudioSession.Orientation?
В частности, я нашел следующие работы, но я не уверен, что это надежный и правильный способ. сравнить и будет ли он работать всегда на всех версиях iOS.
var preferredDataSource:AVAudioSessionDataSourceDescription?
let preferredMicrophoneLocation = AVAudioSession.Location.orientationFront
if let dataSources = builtinMicPort.dataSources {
for source in dataSources
{
if source.orientation?.rawValue == preferredMicrophoneLocation.rawValue
preferredDataSource = source
break
}
} // end data source iteration
}
}