in app, running background service, want service notified if app playing audio e.g. phone call or music app or radio app playing audio.
from avaudiosession class documentation, seems avaudiosessioninterruptionnotification thing need.
so, tried:
-(void)initialization{ [[nsnotificationcenter defaultcenter] addobserver:self selector:@selector(handleaudiosessioninterruption:) name:avaudiosessioninterruptionnotification object:nil]; } -(void)handleaudiosessioninterruption:(nsnotification*)notification{ nslog("get notified interruption"); }
i run app on iphone. when make outgoing/incoming phone call, app notified audio session interruption. works well!
but when open radio/music app playing audio, app not notified. why? how can app notified when music/radio app playing audio?
as mentioned in docs::
/* registered listeners notified when system has interrupted audio session , when interruption has ended. check notification's userinfo dictionary interruption type -- either begin or end. in case of end interruption notification, check userinfo dictionary avaudiosessioninterruptionoptions indicate whether audio playback should resume. */
so if other app trying take on audio session, interruption notification posted.
for example: try opening apple's default music app or try recording video default camera application. take on audio session , notified of same.
just on safe side:: instance listening notification should still alive in memory.
Comments
Post a Comment