检测耳机 插入

#import <AudioToolbox/AudioToolbox.h>
AudioSessionAddPropertyListener (kAudioSessionProperty_AudioRouteChange, callbackHeadphone_func, self);

void callbackHeadphone_func ( void *inClientData, AudioSessionPropertyID inID, UInt32 inDataSize, const void *inData ) {
    if ( inID == kAudioSessionProperty_AudioRouteChange ) {
        [mainViewController performSelector:@selector(isHeadsetPluggedIn)];
    }
}


- (void) isHeadsetPluggedIn {
    
    UInt32 routeSize = sizeof (CFStringRef); CFStringRef route;
    
    AudioSessionGetProperty (kAudioSessionProperty_AudioRoute, &routeSize, &route);
      /* Known values of route:
     "Headset"
     "Headphone"
     "Speaker"
     "SpeakerAndMicrophone"
     "HeadphonesAndMicrophone"
     "HeadsetInOut"
     "ReceiverAndMicrophone"
     "Lineout" */
    
    NSString* routeStr = (NSString*)route;
    DLog(@"%@",routeStr);
}

 

你可能感兴趣的:(插入)