Chapter 16. Music Library
An iOS device can be used for the same purpose as the original iPod — to hold and play music, podcasts, and audiobooks. These items constitute the device’s music library. (The relevant guide in Apple’s documentation, iPod Library Access Programming Guide, preserves a more archaic name.) iOS provides the programmer with various forms of access to the device’s music library; you can:
- Explore the music library.
- Play an item from the music library.
- Learn and control what the Music app’s music player is doing.
- Present a standard interface for allowing the user to select a music library item.
These abilities are provided by the Media Player framework; you’ll need to
Exploring the Music Library
Everything in the music library, as seen by your code, is an MPMediaEntity. This is an abstract class. It has two concrete subclasses:
- An MPMediaItem is a single item (a “song”).
An MPMediaCollection is an ordered list of MPMediaItems, rather like an array; it has a
count, and its
itemsproperty is an array.
MPMediaEntity endows its subclasses with the ability to describe themselves through key–value pairs called properties. The property keys have names like
MPMediaItemPropertyTitle. To fetch a property’s value, call
valueForProperty: with its key. You can fetch multiple properties with
enumerateValuesForProperties:usingBlock:. Thus, the use of the word “properties” here has nothing to do with object properties; these ...