(2015年9月14日追記。
Swift版の記事を書きました。
[iOS][Swift]ミュージックライブラリにアクセスして音楽を再生する(MPMusicPlayerController使用) | nackpan Blog
ごらんください。)
今回は、ミュージックライブラリから音楽を選択すると音楽がスタートするようにし、再生、一時停止、停止ができるようにする。
Single View Applicationでプロジェクトを作成。名前はsampleMusicPlayerにしてみた。 
MediaPlayerフレームワークを加える。
「+」ボタンを押すと、フレームワークがずらりと現れるので、そのなかから、MediaPlayer.frameworkを加える。
ViewController.hにMediaPlayerフレームワークをimportする。 
ボタンとViewController.mにactionを作成してつなげる。 
プレイヤーを表すpropertyをViewController.mに加える。 
プレイヤーのインスタンスを作成。
(ここで、applicationMusicPlayerではなく、ipodMusicPlayerを用いると、「ミュージック」での再生状況(再生アイテムや、シャッフル、リピートなどのモード)を反映したものになる)
曲を選択するために、メディアアイテムピッカーを用いる。
(メディアアイテムピッカーというのは、iOSで用意されているあらかじめ設定済みのModalViewController。ミュージックライブラリの選択画面と同じようなことが出来る) 
(iPodライブラリアクセスプログラミングガイドより)
メディアアイテムピッカーでの「選択完了したとき」や「キャンセルされたとき」のイベントを、ViewControllerで受け取れるようにする。
そのために、ViewControllerをメディアアイテムピッカーのデリゲートとして設定する。
「選曲」ボタンを押すと、メディアアイテムピッカーを作成して、デリゲートの設定を行い、ライブラリの曲を選択できるようにする。
「選択完了したとき」「キャンセルされたとき」のメソッドを記述する。 ViewController.h
ViewController.m 
各ボタンのアクションに、「再生」「一時停止」「停止」機能を加える。 
iOSシミュレータでは動作しません。実機を用いてください。 「選曲」ボタンを押すと、メディアアイテムピッカーが表示され、曲を選択すると音楽がスタートします。「再生」ボタンで音楽の再生。「一時停止」ボタンで一時停止。「停止」ボタンで音楽を止めて、再生位置を一番始めに戻します。
ViewController.h
// // ViewController.h // sampleMusicPlayer // #import <UIKit/UIKit.h> #import <MediaPlayer/MediaPlayer.h> @interface ViewController : UIViewController<MPMediaPickerControllerDelegate> @end
ViewController.m
//
// ViewController.m
// sampleMusicPlayer
//
#import "ViewController.h"
@interface ViewController ()
@property MPMusicPlayerController* player;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.player = [MPMusicPlayerController applicationMusicPlayer];
}
- (IBAction)pick:(id)sender {
// MPMediaPickerControllerのインスタンスを作成
MPMediaPickerController *picker = [[MPMediaPickerController alloc]init];
// ピッカーのデリゲートを設定
picker.delegate = self;
// 複数選択を不可にする。(YESにすると、複数選択できる)
picker.allowsPickingMultipleItems = NO;
// ピッカーを表示する
[self presentViewController:picker animated:YES completion:nil];
}
// メディアアイテムピッカーでアイテムを選択完了したときに呼び出される
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection
{
// 選択した曲情報がmediaItemCollectionに入っているので、これをplayerにセット。
[self.player setQueueWithItemCollection:mediaItemCollection];
// 再生開始
[self.player play];
// ピッカーを閉じ、破棄する
[mediaPicker dismissViewControllerAnimated:YES completion:nil];
}
//選択がキャンセルされた場合に呼ばれる
- (void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{
// ピッカーを閉じ、破棄する
[mediaPicker dismissViewControllerAnimated:YES completion:nil];
}
- (IBAction)pushPlay:(id)sender {
[self.player play];
}
- (IBAction)pushPause:(id)sender {
[self.player pause];
}
- (IBAction)pushStop:(id)sender {
[self.player stop];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end関連記事
[iOS]AVPlayerを使う | nackpan Blog AVFoundationフレームワークのAVPlayerクラスを使って、ミュージックライブラリの楽曲を再生する。

yukudekiteimasu