从iOS 5开始,每个音乐播放器都可以在MPNowPlayingInfoCenter defaultCenter.nowPlayingInfo上设置当前播放的音乐信息,如标题、艺术家、专辑标题和插图,以显示在锁定屏幕上。
在iOS 7上,播放位置滑块、持续时间和已用时间信息被添加到锁屏和控制中心。但是,我找不到任何文档来设置这些类型的信息,并启用滑块来更改播放位置。
有没有办法解决这个问题?
发布于 2013-09-24 18:30:00
您需要将播放速率设置为1.0f,即使文档显示默认为1.0。
NSDictionary *mediaInfo = @{
MPMediaItemPropertyTitle: audio.title,
MPMediaItemPropertyArtist: audio.artist,
MPMediaItemPropertyPlaybackDuration: audio.duration,
MPNowPlayingInfoPropertyPlaybackRate: @(1.0)
};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo];发布于 2013-09-14 23:02:06
它们都记录在MPNowPlayingInfoCenter的参考资料中。当前播放属性是可选的值,可以设置也可以不设置。该链接位于正常播放属性列表末尾的句子中:
本文档以“Additional Metadata Properties.”的形式介绍了您可以设置的其他属性。(强调我的)
您感兴趣的属性包括:MPNowPlayingInfoPropertyElapsedPlaybackTime和MPMediaItemPropertyPlaybackDuration。
这些信息都是公开的,而且由于iOS 7SDK似乎还没有发布(截至2013-09-14),我假设它也是在该版本的iOS之前发布的。
发布于 2015-01-22 02:48:45
需要注意的是:苹果的文件从来没有明确说明这一点--如果你使用MPMusicPlayerController,你的音乐是由“音乐”应用程序在引擎盖下播放的,你对nowPlayingInfoCenter没有任何控制。您将不会收到应用于锁定屏幕的用户操作(如播放/暂停)生成的远程控制事件,因为这些事件通过nowPlayingInfoCenter传播到“音乐”应用程序,而不是您的应用程序。使用AV或AvAudio等其他媒体播放器时,您可以控制nowPlayingInfoCenter并接收远程控制事件。但是如果你使用AVAudioSessionCategoryOptions.MixWithOthers来设置AV播放器,你也不能控制nowPlayingInfoCenter。我希望苹果能更好地记录这些细节。
https://stackoverflow.com/questions/18800889
复制相似问题