The Media Player framework class for playing an MPMediaItem is MPMusicPlayerController. It comes in two flavors, depending on which class method you use to get an instance:
applicationMusicPlayercan be different from the iPod/Music app’s current song. This player stops when your app is not in the foreground.
applicationMusicPlayer is not really inside your app. It is actually the global music player behaving differently. It has its own audio session; if you activate an audio session with a Solo Ambient or Playback policy (Chapter 27), the player will stop. You cannot play its audio when your app is in the background. You cannot make it the target of remote control events. If these limitations prove troublesome, use the
iPodMusicPlayer (or AVPlayer, as discussed later in this chapter).
A music player doesn’t merely play an item; it plays from a queue of items. This behavior is familiar from iTunes and the iPod/Music app, though you might not have ...