[Avaudiosession sharedinstance];
[[Nsnotificationcenter Defaultcenter] addobserver:self selector: @selector (audioroutechangelistenercallback:)
Name:avaudiosessionroutechangenotification
Object:nil];
-(void) Audioroutechangelistenercallback: (nsnotification*) notification
{
Nsdictionary *interuptiondict = Notification.userinfo;
Nsinteger Routechangereason = [[Interuptiondict Valueforkey:avaudiosessionroutechangereasonkey] integerValue];
Switch (Routechangereason) {
Case Avaudiosessionroutechangereasonnewdeviceavailable:
NSLog (@ "avaudiosessionroutechangereasonnewdeviceavailable");
NSLog (@ "Headphone/line plugged in");
Break
Case Avaudiosessionroutechangereasonolddeviceunavailable:
NSLog (@ "avaudiosessionroutechangereasonolddeviceunavailable");
NSLog (@ "Headphone/line was pulled. Stopping player .... ");
Break
Case Avaudiosessionroutechangereasoncategorychange:
Called at Start-also if other audio wants to play
NSLog (@ "Avaudiosessionroutechangereasoncategorychange");
Break
}
}
iOS headphone plug-in pull-out detection