最近写了个小程序,用来播放本地音乐(ipone,itouch,ipod)。先记录一下。
需要导入库MediaPlayer.framework
播放本地的音乐
MPMusicPlayerController *player = [MPMusicPlayerController applicationMusicPlayer];
[player setQueueWithQuery:[MPMediaQuery playlistsQuery]];
[player play];
只要执行上面三条语句,就可以开始播放顺序播放本地音乐了。
如果要获取本地音乐库的歌曲目录展示出来,自己选择播放。则:
NSMutableArray *songArr = [[NSMutableArray alloc] init];
NSArray *media_arr = [[[MPMediaQuery playlistsQuery] items] retain];//这里得到一个MPMediaItem的数组,用于后面选择的播放
for (MPMediaItem *item in media_arr)
{
NSString *title = [item valueForProperty:MPMediaItemPropertyTitle]; //这里得到歌曲名称用于展示
[songArr addObject:title];
}
这样song数组里存储的就是歌曲名了。
指定曲目播放:
MPMusicPlayerController *player = [MPMusicPlayerController applicationMusicPlayer];
[player setNowPlayingItem:item];//这里的item类型为MPMediaItem,选择歌曲的时候,可以根据media_arr得到item
[player play];
获取歌曲时长:
NSString *duration = [item valueForProperty:MPMediaItemPropertyPlaybackDuration];
注:
MPMusicPlayerController *player = [MPMusicPlayerController applicationMusicPlayer];
如果applicationMusicPlayer播放不出声音,可以用iPodMusicPlayer
通过valueForProperty可以得到许多你想要的值,比如上面的歌曲名,时长,还可以得到歌词等等,用的时候,可以仔细看下官方文档。