有两种方式在代码中去播放从ipod列表中选取的歌曲
1, 使用AVAudioPlayer, 代码如下:
先弹出选曲界面
MPMediaPickerController *mpPickerController = [[MPMediaPickerControlleralloc]
initWithMediaTypes:MPMediaTypeAnyAudio];
[selfpresentViewController:mpPickerController
animated:YEScompletion:^{}];
mpPickerController.delegate =self;
[mpPickerControllerrelease];
然后实现它的代理方法
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection
*)mediaItemCollection {
NSLog(@"select mediaItemCollection.items=%@, representativeItem=%@", mediaItemCollection.items,
[mediaItemCollection representativeItem]);
// 选到的歌曲
MPMediaItem *selectedSong = [[mediaItemCollectionitems]
objectAtIndex:0];
NSURL *songURL = [selectedSongvalueForProperty:MPMediaItemPropertyAssetURL]; // 歌曲的URL通常为ipod-library://item/item.mp3?id=-7350999950458851124
NSString *songTitle = [selectedSongvalueForProperty:MPMediaItemPropertyTitle]; // 歌曲的Title
NSString *songURLString = [songURL
absoluteString];
// 转换为NSString
NSLog(@"songURL=%@, songURLString=%@, songTitle=%@", songURL, songURLString, songTitle);
// 进入到使用AVAudioPlayer的界面
[selfdismissViewControllerAnimated:YEScompletion:^{
GameShowsViewController *gameShowsVC = [[GameShowsViewControlleralloc]
initWithNibName:[NSStringstringWithFormat:@"%@", (ISIPAD?@"GameShowsView_IPAD":@"GameShowsView")]bundle:nil];
gameShowsVC.selectedMusicInfo = [NSDictionarydictionaryWithObjectsAndKeys:
songURLString,@"SongName",
@"NoPic.png",
@"Picture",
@"Heqin",
@"Player",
songTitle,@"SongTitle",
nil];
[self.navigationControllerpushViewController:gameShowsVC
animated:NO];
[gameShowsVCrelease];
}];
}
// 在播放界面中使用,
上面把NSURL转成了NSString, 接下来可以把这个NSString再回转成NSURL,然后再进行播放
NSURL *fileURL = [NSURLURLWithString:fileName];
bgMusicPlayer = [[AVAudioPlayeralloc]
initWithContentsOfURL:fileURLerror:nil];
即可以进行播放
2, 另一种方式是使用 MPMusicPlayerController
MPMusicPlayerController *appMusicPlayer = [MPMusicPlayerControllerapplicationMusicPlayer];
[appMusicPlayer setShuffleMode:MPMusicShuffleModeOff];
[appMusicPlayer setRepeatMode:MPMusicRepeatModeNone];
[appMusicPlayersetQueueWithItemCollection:mediaItemCollection]; // 这里的参数mediaItemCollection直接来自于代理方法,-(void)mediaPicker:(MPMediaPickerController*)mediaPicker
didPickMediaItems:即可。
[appMusicPlayerplay];
分享到:
相关推荐
IOS下使用AVAudioPlayer播放MP3(支持后台播放) XCode 4.6.3下编译测试运行通过,真机测试通过
本实例实现了AVAudioPlayer播放mp3歌曲文件,实现了播放、暂停、继续操作,音乐音量控制、播放进度显示,同时监听来电打断事件
AVAudioPlayer播放本地音频 很基本的一个demo
主要介绍了iOS App中调用AVAudioPlayer播放音频文件的用法,AVAudioPlayer仅能播放本地文件而不能添加网络源,实例代码为Objective-C,需要的朋友可以参考下
AVAudioPlayer播放音乐,支持后台播放,参考iOS图形图像一书,自己添加了支持后台播放还有注释
AVAudioPlayer类轻松实现音频播放,资源内已经对系统AVAudioPlayer做了C++类的封装,使用的时候直接调用接口即可
我自己写的用AVAudioPlayer实现后台播放和远程控制、我自己写的用AVAudioPlayer实现后台播放和远程控制、我自己写的用AVAudioPlayer实现后台播放和远程控制
iOS之AVAudioPlayer使用实例
利用AVAudioRecorder录音 利用AVAudioPlayer播放 AVAudioSession录音权限 简单的录音播放demo,类似微信的按下录音,松开录音完成,并播放。
利用AVAudioRecorder录音 利用AVAudioPlayer播放 AVAudioSession录音权限 简单的录音播放demo,类似微信的按下录音,松开录音完成,并播放。
AVAudioPlayer.zip
支持后台播放,锁屏操作(播放暂停,锁屏状态设置显示信息) 由于只能上传5M的包,所以只放了一个本地MP3文件 // 第一步: 找到 TARGETS-->Capabilities-->Background Modes -->(打开)Audio,AirPlay and Picture...
本例使用 AVAudioPlayer 组成数组,来实现播放不同音乐、系统提示音的效果;并通过block来执行播放前、播放结束、播放停止的效果,适应项目的需要。
自己写的一个AVAudioPlaye简单播放器,实现,播放,暂停,顺序播放,单曲播放等。
(1) 离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完成音频文件再进行播放的情况,这种使用AVFoundation里的AVAudioPlayer可以满足 (2) 在线播放:使用AVFoundation的AVPlayer可以...
AVAudioPlayer的使用,完整代码,详细备注
Cephalopod,一种用Swift编写的AvAudioPlayer的声音衰减器-iOS,tvOS和macOS该库可以帮助通过AvAudioPlayer淡入或淡出声音。 可以设置持续时间,淡入淡出的速度和完成功能。 Velo Cephalopod,一种用Swift编写的...
2. 能够从设备中读取歌曲,UICollectionView每个Cell显示歌曲的封面图片和文件名称,点击音乐封面图片后调用IPodPlayer进行播放或者调用AVAudioPlayer进行播放; 3. 能够从设备中读取视频,UICollectionView每个Cell...
:warning: 该库不再维护。 随意 fork 它,将代码添加到您的项目并修改... 您可以使用以下命令安装它: $ gem install cocoapods 要使用CocoaPods将AudioPlayerManager集成到您的Xcode项目中,请在您的Podfile指定它: s