第一步,检查你的AppDelegate是不是继承于UIResponder,有的是自动生成,有的人习惯手写,如果是继承于NSObject请改为 AppDelegate : UIResponder
第二步,在音乐播放的时候,写上歌曲信息和图片信息:

- (void) setMediaInfo : (UIImage *) img andTitle : (NSString *) title andArtist : (NSString *) artist
{
MYDEBUGPRINT(NSLog(@"begen set album art, to MPNowPlayingInfoCenter."));
if (NSClassFromString(@"MPNowPlayingInfoCenter")) {
NSMutableDictionary * dict = [[NSMutableDictionary alloc] init];

[dict setObject:title forKey:MPMediaItemPropertyAlbumTitle];
[dict setObject:artist forKey:MPMediaItemPropertyArtist];
[dict setObject:[NSNumber numberWithInt:[playlist.refresh intValue]] forKey:MPMediaItemPropertyPlaybackDuration];

MPMediaItemArtwork * mArt = [[MPMediaItemArtwork alloc] initWithImage:img];
[dict setObject:mArt forKey:MPMediaItemPropertyArtwork];
[MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo = nil;
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:dict];
[dict release];
}
}
上面的if (NSClassFromString(@"MPNowPlayingInfoCenter"))避免了版本兼容问题,这个API貌似只出现在5里面。

现在你可以发现,上面的代码可能不起作用,而且待机屏的播放暂停也不会起作用。
第三步,在appDelegate的加载完成回调里面写
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
你会发现,,只有信息出来,但是播放控制还是不起作用。。。。。

呵呵,绕弯子了。

重写这个方法了
- (BOOL) canBecomeFirstResponder {
return YES;
}

- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {

if (receivedEvent.type == UIEventTypeRemoteControl) {

switch (receivedEvent.subtype) {

case UIEventSubtypeRemoteControlTogglePlayPause:
NSLog(@"xxxxxxxxxxx11111");
break;
case UIEventSubtypeRemoteControlNextTrack:
NSLog(@"xxxxxxxxxxx3333");
break;
case UIEventSubtypeRemoteControlPreviousTrack:
NSLog(@"xxxxxxxxxxx4444");
break;
default:
break;
}
}
}

OK,炫炫的效果出来了,,,,,
当然becomeFirstResponder也可以写在ViewControll或者View里面。
但是作为整个应用的状态来说,个人认为,写在appDelegate比较好。

这里有点考虑,becomeFirstResponder后,会不会对应用的某些功能有影响,,,

最后附MPNowPlayingInfoCenter可显示的内容,但是本人还有些没有试出来,,不知为何。。。

some properties specific to this class. In iOS 5.0, the now playing info center supports the following media item property keys:

MPMediaItemPropertyAlbumTitle
MPMediaItemPropertyAlbumTrackCount
MPMediaItemPropertyAlbumTrackNumber
MPMediaItemPropertyArtist
MPMediaItemPropertyArtwork
MPMediaItemPropertyComposer
MPMediaItemPropertyDiscCount
MPMediaItemPropertyDiscNumber
MPMediaItemPropertyGenre
MPMediaItemPropertyPersistentID
MPMediaItemPropertyPlaybackDuration
MPMediaItemPropertyTitle

Additional Metadata Properties
These properties for the now playing info center dictionary supplement the available media item properties, as described in the Overview in this document.

NSString *const MPNowPlayingInfoPropertyElapsedPlaybackTime
NSString *const MPNowPlayingInfoPropertyPlaybackRate;
NSString *const MPNowPlayingInfoPropertyPlaybackQueueIndex;
NSString *const MPNowPlayingInfoPropertyPlaybackQueueCount;
NSString *const MPNowPlayingInfoPropertyChapterNumber;
NSString *const MPNowPlayingInfoPropertyChapterCount;

http://tieba.baidu.com/p/1394006679

锁屏状态下,看到歌手图片相关推荐

  1. 锁屏界面提示某些设置已隐藏_分享华为手机锁屏状态下几大隐藏小功能,快来体验...

    分享华为手机锁屏状态下几大隐藏小功能. 一.熄屏显示 平常想要在手机上看时间.日期等信息,需要点亮屏幕,很费时费电,还损耗手机按键. 熄屏显示,支持在熄屏状态下显示时间.日期.手机电量等基础信息,更有 ...

  2. android shell检查是否锁屏_锁屏状态下的华为手机不显示消息?这样设置!

    点击蓝字关注我们 最近两天同事小张总是一副闷闷不乐的样子,小编琢磨着,刚过完情人节,这状态不对呀. 后来一问才知道,原来是小张晚上打游戏,女朋友微信找他,小张没看到,所以俩人就吵了起来.果然,男人们都 ...

  3. android可以有一个悬浮窗口在进入屏保状态显示,点击进入应用,Android如何实现锁屏状态下弹窗...

    前言 想在锁屏上面实现弹窗,第一个想法就是利用 WindowManager设置 Window的 Flag,通过设置 Flag的显示优先级来让窗口显示在锁屏的上面. 接下来就是试验可能相关的 Windo ...

  4. Android锁屏状态下信息的显示

    Android窗口的显示很简单,但很多人不知道锁屏状态下窗口的显示,今天就来展示一下. 先上QQ的效果图 1:显示 就一句代码,在需要显示的Activity中onCreate方法中加入 this.ge ...

  5. Android锁屏状态下点亮屏幕并弹窗提醒

    类似于手机锁屏状态下QQ来消息然后点亮屏幕并弹窗,如图. 相信QQ的这个功能大家都是很熟悉的了,下面就开始讲具体的实现步骤. 一.新建一个Activity并在OnCreate中添加四个标识 @Over ...

  6. Android仿QQ锁屏状态下消息提醒(震动+提示音)

    导读: 最近在开发一个定时提醒业务,类似于闹钟,然后遇到了一个问题,当APP应用在后台运行时,用户关闭了手机屏幕(手机进入灭屏休眠状态),这个时候使用系统震动和闹钟没有起到作用.why? 同样是灭屏休 ...

  7. 安卓开发--关于锁屏状态下如何实现消息推送

    安卓开发–关于锁屏状态下如何实现消息推送 1. 新建一个AlarmHandlerActivity并设置在锁屏状态下弹窗! onCreate方法中添加标志: /* * 分别是锁屏状态下显示,解锁,保持屏 ...

  8. 锁屏状态下NFC不可用

    锁屏状态下NFC不可用 锁屏状态下NFC不可用 1. Description 2. Analysis 3. Solution 4. Summary 1. Description 在工厂测试软件中,需要 ...

  9. Android锁屏状态下service不能正常工作的探究

    理想情况下例如音乐播放等service在锁屏状态下都是可以正常播放的. 最近在用android5.0做开发,写了蓝牙4.0的服务和socket的网络请求服务,需求是每隔一段时间自动查询服务器数据,如果 ...

  10. Android 锁屏状态下启动应用很慢的原因分析

    最近在工作中遇到一个需求就是,在锁屏状态下直接拨打电话,功能实现之后测试给的反馈是操作之后到电话拨出的时间太长(大概5秒).希望能优化一下.后来经过分析确定不是应用层的问题.然后就一顿百度.Googl ...

最新文章

  1. 【剑指offer】面试题四:替换空格
  2. java 实现生产者-消费者模式
  3. 百度地图的实现,IIS6.0,.net4.0 无法使用POST和GET
  4. swift语言和python区别_Swift为什么能成为编程语言中的黑马?
  5. 牛客练习赛69D-火柴排队【dp】
  6. 浅谈href=#与href=javascript:void(0)的区别
  7. 【android】AIDL传递自定义类型参数
  8. java day42【综合练习】
  9. Intellij IDEA 修改默认配置
  10. linux启动python项目_java项目部署Linux服务器几种启动方式总结经验
  11. flutter_app\key.jks‘ not found for signing config ‘release‘.
  12. gps导航卫星星历及历书参数意义
  13. 中国手机用户换机越来越慢
  14. 360插件化方案RePlugin初体验
  15. Android全屏和强制横屏竖屏设置
  16. Qt笔记(十五)之设置程序图标
  17. 什么样的系统是一个好的的系统
  18. [转]部分日文实用网址介绍
  19. 51JOB:根据HR处理简历的一般流程,简历投递后会有如下几种状态出现
  20. 解决不同版本jar包引入问题,修改jar包包名

热门文章

  1. 【3】现代计算机图形学(正交投影,透视投影,MVP变换)
  2. mysql sus bench_susbench性能测试工具
  3. Mysql 中source命令详解
  4. win10 内存清理
  5. python五分制转分数档_五分制绩点换算四分制(5.0绩点计算器在线)
  6. 苹果手机编辑word_苹果手机更新后卡顿,关闭这两个开关立马恢复,设置之后差点泪崩...
  7. DHCP Relay的介绍
  8. idea在自动注入DiscoveryClient的时候报错
  9. 7个实用的Python自动化测试框架
  10. 远程桌面分辨率取决于服务器还是客户端,关于Windows8.1高分辨率,远程桌面连接的界面显示很小的问题~...