iPod Library Accessなるものを使えば実機のiPodの曲にアクセスできます。MediaPlayer.frameworksをインポートしておきましょう。
コード
TestViewController.h
#import <MediaPlayer/MediaPlayer.h> // 略 // どっかにこれを宣言しておく @property MPMusicPlayerController *player;
TestViewController.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // Viewのロード時に全曲読み込んでシャッフル再生をはじめる _player = [MPMusicPlayerController applicationMusicPlayer]; [_player setQueueWithQuery:[MPMediaQuery songsQuery]]; [_player setShuffleMode:MPMusicShuffleModeSongs]; [_player play]; } // 略 - (void)showNowPlayingSongInfo { NSLog(@"現在再生中の曲情報を表示する"); MPMediaItem *nowPlayingItem = [_player nowPlayingItem]; NSLog(@"Genre = %@", [nowPlayingItem valueForProperty:MPMediaItemPropertyGenre]); NSLog(@"Album Title = %@", [nowPlayingItem valueForProperty:MPMediaItemPropertyAlbumTitle]); NSLog(@"Artist = %@", [nowPlayingItem valueForProperty:MPMediaItemPropertyArtist]); NSLog(@"Title = %@", [nowPlayingItem valueForProperty:MPMediaItemPropertyTitle]); } - (void)showSongInfoWithSongQuery { NSLog(@"曲名でソートして、全曲リストを表示する"); MPMediaQuery *query = [MPMediaQuery songsQuery]; int counter = 0; for( MPMediaItem *item in [query items]) { NSLog(@"%@", [item valueForProperty:MPMediaItemPropertyTitle]); ++counter; if(counter > 4) break; // 全部出すと多いのでこの辺でbreak } } - (void)showSongInfoWithArtistQuery { NSLog(@"アーティスト名でソートして、全曲リストを表示する"); MPMediaQuery *query = [MPMediaQuery artistsQuery]; int counter = 0; for( MPMediaItem *item in [query items]) { NSLog(@"%@", [item valueForProperty:MPMediaItemPropertyArtist]); ++counter; if(counter > 4) break; // 全部出すと多いのでこの辺でbreak } } - (void)showPlaylistInfo { NSLog(@"プレイリストを表示する"); MPMediaQuery *query = [MPMediaQuery playlistsQuery]; for( MPMediaPlaylist *plist in [query collections] ) { NSLog(@"%@", [plist valueForProperty:MPMediaPlaylistPropertyName]); } } - (IBAction)debugButtonPush:(id)sender { [self showNowPlayingSongInfo]; [self showSongInfoWithSongQuery]; [self showSongInfoWithArtistQuery]; [self showPlaylistInfo]; }
出力結果例
現在再生中の曲情報を表示する 2012-12-26 18:18:26.150 JPlayer[1907:707] Genre = ロック 2012-12-26 18:18:26.152 JPlayer[1907:707] Album Title = 500 Greatest Rock Classics 2012-12-26 18:18:26.154 JPlayer[1907:707] Artist = 500 Greatest Rock Classics 2012-12-26 18:18:26.155 JPlayer[1907:707] Title = Good Times Bad Times 2012-12-26 18:18:26.156 JPlayer[1907:707] 曲名でソートして、全曲リストを表示する 2012-12-26 18:18:26.363 JPlayer[1907:707] あぁ青春 2012-12-26 18:18:26.364 JPlayer[1907:707] あいあい 2012-12-26 18:18:26.366 JPlayer[1907:707] アイシテル 2012-12-26 18:18:26.367 JPlayer[1907:707] アイソトープ 2012-12-26 18:18:26.369 JPlayer[1907:707] アイデンティティー (Live ver) 2012-12-26 18:18:26.370 JPlayer[1907:707] アーティスト名でソートして、全曲リストを表示する 2012-12-26 18:18:26.716 JPlayer[1907:707] 絢香 × コブクロ 2012-12-26 18:18:26.718 JPlayer[1907:707] 絢香 2012-12-26 18:18:26.719 JPlayer[1907:707] 絢香 2012-12-26 18:18:26.720 JPlayer[1907:707] 絢香 2012-12-26 18:18:26.722 JPlayer[1907:707] 絢香 2012-12-26 18:18:26.724 JPlayer[1907:707] プレイリストを表示する 2012-12-26 18:18:26.994 JPlayer[1907:707] 林檎
続編
次回は音楽プレイヤーを作ってアプリっぽくします。
【iOS】iPod Library Accessの使い方(2)簡易音楽プレイヤーを作る