http://www.cocoachina.com/bbs/read.php?tid=98050

第一步,检查你的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

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

  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的网络请求服务,需求是每隔一段时间自动查询服务器数据,如果 ...

最新文章

  1. C语言运算符优先级和口诀(转)
  2. 使用MLX90640自制红外热像仪(二):API函数的使用
  3. 配置spring整合jpa自动生成数据表
  4. ALBERT第一作者亲自讲解:Transformer、BERT、ALBERT、XLNet全面解析
  5. GraphQL入门之进一步了解GraphQL
  6. Spiral Matrix I II
  7. java ecc signature_如何用python验证android/java的ECC签名
  8. 不拆机更换HG255D的U-BOOT并刷OPENWRT
  9. Python爬虫项目:爬虫爬取正则分析糗百数据
  10. Java枚举(enum)
  11. 第一次电话面试失败之后
  12. 微信授权demo php,PHP微信公众平台oauth2.0网页授权登录类的封装demo
  13. 第十一届蓝桥杯c/c++省赛大学B组(第一次)
  14. 团员大会如何写组织学习计算机知识,团支部召开接收新团员的支部大会的会议记录怎么写?...
  15. html网页架构图,html网页文件基本写法及结构
  16. QML Tumbler使用介绍
  17. P1425 小鱼的游泳时间(C语言)
  18. 关于角色的转变的思考
  19. 空间计量 python_一文读懂空间计量入门之空间数据、权重矩阵、空间统计、空间模型等简介...
  20. 库乐队历史版本怎么下载_库乐队下载_库乐队安卓版下载_库乐队下载安装-太平洋下载中心...

热门文章

  1. 【实操】创建云监控报警规则
  2. java单例模式的应用场景_java项目中单列模式适用于什么场景?
  3. GitHub换帅,Nat Friedman辞任CEO,发告别信感恩「这三年」
  4. 使用ManagedWifi连接无线网络
  5. 从概率角度来确定临界点问题
  6. 从希腊神话到好莱坞大片,人工智能的七大历史时期值得铭记
  7. Python批量爬取华语天王巨星周杰伦的音乐
  8. SqlSugar.SqlSugarException: English Message : Connection open error . 给定关键字不在字典中
  9. JLINK在线调试——软件调试方法与技巧
  10. 阴阳师手游初始式神推荐