MPNowPlayingInfoCenter 解释
即时播放中心能够用于播放APP中正在播放的媒体信息.
播放的信息会显示在锁屏页面和多任务管理页面.如果用户是用airplay播放的话 会自动投射到相应的设备上.
开始动手
让App支持后台运行
先创建工程,因为是audio 类型的app 需要支持后台播放 所以得要在plist 中声明属性.
添加如下属性
Required background modes -> App plays audio
如下图
添加播放的Frame
- AVFoundation.framework
- MediaPlayer.framework
开始代码吧
首先创建一个ViewController 和一个用于播放的按钮 playButton
@interface ViewController : UIViewController {
IBOutlet UIButton *playButton;
}
@property (nonatomic, retain) IBOutlet UIButton *playButton;
-(IBAction)playButtonPress:(id)sender;
加入播放用的控件audioPlayer 和其相应的头文件
#import <MediaPlayer/MPNowPlayingInfoCenter.h>
#import <MediaPlayer/MPMediaItem.h>
#import <AVFoundation/AVFoundation.h>
MPMoviePlayerController *audioPlayer;
@property (nonatomic, retain) MPMoviePlayerController *audioPlayer;
@synthesize playButton, audioPlayer;
在viewDidLoad 中 我们要把AudioPlayer 进行初始化 此处加载网络上的一首音频
[[AVAudioSession sharedInstance] setDelegate: self];
NSError *myErr;
// Initialize the AVAudioSession here.
if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&myErr]) {
// Handle the error here.
NSLog(@"Audio Session error %@, %@", myErr, [myErr userInfo]);
}
else{
// Since there were no errors initializing the session, we'll allow begin receiving remote control events
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
}
//initialize our audio player
audioPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL URLWithString:@"http://www.cocoanetics.com/files/Cocoanetics_031.mp3"]];
[audioPlayer setShouldAutoplay:NO];
[audioPlayer setControlStyle: MPMovieControlStyleEmbedded];
audioPlayer.view.hidden = YES;
[audioPlayer prepareToPlay];
点击按钮开始播放,注意因为MPNowPlayingInfoCenter只支持5.0+ 所以为了防止低版本使用 巧妙的应用了NSClassFromString进行了判断
- (IBAction)playButtonPress:(id)sender {
[audioPlayer play];
Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
if (playingInfoCenter) {
NSMutableDictionary *songInfo = [ [NSMutableDictionary alloc] init];
MPMediaItemArtwork *albumArt = [ [MPMediaItemArtwork alloc] initWithImage: [UIImage imagedNamed:@"AlbumArt"] ];
[ songInfo setObject: @"Audio Title" forKey:MPMediaItemPropertyTitle ];
[ songInfo setObject: @"Audio Author" forKey:MPMediaItemPropertyArtist ];
[ songInfo setObject: @"Audio Album" forKey:MPMediaItemPropertyAlbumTitle ];
[ songInfo setObject: albumArt forKey:MPMediaItemPropertyArtwork ];
[ [MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo ];
}
}
参考http://jaysonlane.net/tech-blog/2012/04/lock-screen-now-playing-with-mpnowplayinginfocenter/
相关推荐
iOS播放器特效,锁屏状态下显示专辑图片和信息
自己设计的一个ios开发 带有显示歌词功能的音乐播放器 适合学习与借鉴
iOS开发之美光盘源代码,由于视频太大,没有上传。
本文实例为大家分享了iOS实现音乐的后台播放,以及播放时,可以控制其暂停,下一首等操作,以及锁屏图片歌曲名等的显示 此实例需要真机调试,效果图如下: 工程下载:github工程下载 实现步骤: 1、首先修改info....
主要介绍了 iOS中关于音乐锁屏控制音乐(锁屏信息设置)的实例代码,需要的朋友可以参考下
ios开发之归档
唐巧的《iOS开发进阶》,希望对一些初级的程序员有用
第一部分介绍iOS 开发的常用工具,第二部分介绍iOS开发中的一些常见的实践经验,第三部分介绍iOS 开发中涉及的原理。 如果把成为iOS 开发高手的过程比作武侠小说中的修炼过程的话,工具、实践和理论的学习就分别对应...
资源名称:《iOS开发零基础入门教程》(40集)资源目录:【】传智播客《iOS开发零基础入门教程》1.1【】传智播客《iOS开发零基础入门教程》1.2【】传智播客《iOS开发零基础入门教程》1.3【】传智播客《iOS开发零基础...
资源名称:iOS开发视频教程资源目录:【】iOS开发视频教程-第01讲-iOS历史介绍【】iOS开发视频教程-第02讲-XCode安装【】iOS开发视频教程-第03讲-UIView_PPT【】iOS开发视频教程-第04讲-UILabel【】iOS开发视频教程-...
适用于iOS应用程序的简单锁屏(Swift 4 ,iOS 11.0 )。.zip,Simple lock screen for iOS Application ( Swift 4 , iOS 11.0 )
主要为大家详细介绍了iOS实现锁屏页面控制音乐播放,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
ios开发流程ios开发流程
精通iOS开发源码下载地址,这个本书简直太棒了,是我买过的性价比最高的一本书。
iOS开发网络数据之AFNetworking使用,没有积分的可以在对应文章下评论留下邮箱; 文章地址:http://blog.csdn.net/daiyelang/article/details/38421341
这是一套从一个对iOS开发感兴趣的学员到iOS开发高手的系统、专业的课程体系。以培养企业开发真正需要的人才为目标,每个知识点都用案例来讲解。也适合想提升技能的已从事iOS开发的工作人员以最短时间内提升技能的...
作者唐巧,本书定位于帮助那些iOS开发人员提高自己的开发水平
ios开发类似android的九宫格锁屏 资源来源于网上 非原创