On Wed, 20 Apr 2011 08:29:08 -0400, Phillip Mills <phillip.mil...@acm.org> said:
>I have a simple program that uses code such as:
>
>        MPMusicPlayerController *player = [MPMusicPlayerController 
> applicationMusicPlayer];
>        [player setQueueWithQuery:entityQuery];
>        [player beginGeneratingPlaybackNotifications];
>        [player play];
>
>In case it matters, 'entityQuery' always references a single item.
>
>What then happens is that my 
>MPMusicPlayerControllerPlaybackStateDidChangeNotification handler gets called 
>twice with (playbackState == MPMusicPlaybackStatePlaying).  There are no 
>intervening calls, which first got me wondering how 'playing' to 'playing' can 
>be defined as a state change.  Some debugging revealed that userInfo for the 
>notification contains a MPMusicPlayerControllerPlaybackStateKey item which is 
>0 on the first call and 1 on the second.
>
>Assuming (at least somewhat reasonably) that the userInfo code should match 
>the advertised state and checking the associated enum, it seems as if the 
>first call should have reported 'Stopped' rather than 'Playing'.
>
>Anyone have any better information on this?  If there's documentation on when 
>and why notifications are sent (and the expected state transitions) beyond the 
>implications in their names, I haven't been able to find it.

It's a fact that certain MPMusicPlayerController notifications tend to be 
called twice in quick succession. What I do is ignore one of the calls if they 
are extremely close together in time. It hadn't occurred to me to examine the 
extra info in the userInfo dictionary; you may have discovered a way of 
distinguishing the calls, in which case yours is a better solution. m.

--
matt neuburg, phd = m...@tidbits.com, <http://www.apeth.net/matt/>
A fool + a tool + an autorelease pool = cool!
Programming iOS 4!
http://www.apeth.net/matt/default.html#iosbook_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to