从 iOS 5 开始,每个音乐播放器都可以在 [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo 上设置当前正在播放的音乐信息,如标题、艺术家、专辑标题和插图,以显示在锁定屏幕上。
在 iOS 7 上,播放位置滑块、持续时间和经过时间信息被添加到锁定屏幕和控制中心。但是,我找不到任何文档来设置这些信息并启用滑块来更改播放位置。
有没有办法解决这个问题?
You need to setup playback rate to 1.0f even if documentation says it's 1.0 by default.
NSDictionary *mediaInfo = @{
MPMediaItemPropertyTitle: audio.title,
MPMediaItemPropertyArtist: audio.artist,
MPMediaItemPropertyPlaybackDuration: audio.duration,
MPNowPlayingInfoPropertyPlaybackRate: @(1.0)
};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo];
请注意:Apple 的文档从未明确说明这一点——如果您使用 MPMusicPlayerController,您的音乐将由“音乐”应用程序在后台播放,并且您无法控制 nowPlayingInfoCenter。而且您不会收到由应用于锁定屏幕的用户操作(例如播放/暂停)生成的远程控制事件,因为这些事件通过 nowPlayingInfoCenter 传播到“音乐”应用程序,而不是您的应用程序。在使用其他媒体播放器时,例如 AV 或 AvAudio,您可以控制 nowPlayingInfoCenter 并接收远程控制事件。但是如果你使用 AVAudioSessionCategoryOptions.MixWithOthers 来设置 AV 播放器,你也无法控制 nowPlayingInfoCenter。我希望 Apple 能更好地记录这些细节。