iOS上所有可能的输出设备:
- /* Known values of route:
- * "Headset"
- * "Headphone"
- * "Speaker"
- * "SpeakerAndMicrophone"
- * "HeadphonesAndMicrophone"
- * "HeadsetInOut"
- * "ReceiverAndMicrophone"
- * "Lineout"
- */
CFDictionaryRef currentRouteDescriptionDictionary = nil;
UInt32 dataSize = sizeof(currentRouteDescriptionDictionary);
AudioSessionGetProperty(kAudioSessionProperty_AudioRouteDescription, &dataSize, ¤tRouteDescriptionDictionary);
if (currentRouteDescriptionDictionary) {
CFArrayRef outputs = CFDictionaryGetValue(currentRouteDescriptionDictionary, kAudioSession_AudioRouteKey_Outputs);
if (outputs) {
if(CFArrayGetCount(outputs) > 0) {
for (int i=0; i<CFArrayGetCount(outputs); i++) {
CFDictionaryRef output = CFArrayGetValueAtIndex(outputs, i);
CFStringRef outputType = CFDictionaryGetValue(output, kAudioSession_AudioRouteKey_Type);
NSLog(@" audio route type is %@",outputType);
}
}
}
}