12.8. Accessing the Music Library
Problem
You want to access an item that your user picks from her music library.
Solution
Use the MPMediaPickerController
class:
MPMediaPickerController
*
mediaPicker
=
[[
MPMediaPickerController
alloc
]
initWithMediaTypes:
MPMediaTypeAny
];
Discussion
MPMediaPickerController
is a
view controller that the Music app displays to the user. By
instantiating MPMediaPickerController
, you can present a
standard view controller to your users to allow them to select whatever
item they want from the library and then transfer the control to your
application. This is particularly useful in games, for instance, where
the user plays the game and can have your application play his favorite
tracks in the background.
You can get information from the media picker controller by
becoming its delegate (conforming to MPMediaPickerControllerDelegate
):
#import "ViewController.h"
#import <MediaPlayer/MediaPlayer.h>
@interface
ViewController
()
<
MPMediaPickerControllerDelegate
>
@property
(
nonatomic
,
strong
)
MPMediaPickerController
*
mediaPicker
;
@end
@implementation
ViewController
Inside your displayMediaPicker:
selector, implement the code required to display an instance of the
media picker controller and present it to the user as a modal view
controller:
-
(
void
)
displayMediaPicker
{
self
.
mediaPicker
=
[[
MPMediaPickerController
alloc
]
initWithMediaTypes:
MPMediaTypeAny
];
if
(
self
.
mediaPicker
!=
nil
){
NSLog
(
@"Successfully instantiated a media picker."
);
self
.
mediaPicker
.
delegate
=
self
;
Get iOS 7 Programming Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.