19

从 iOS 5 开始,每个音乐播放器都可以在 [MPNowPlayingInfoCenter defaultCenter].nowPlayingInfo 上设置当前正在播放的音乐信息,如标题、艺术家、专辑标题和插图,以显示在锁定屏幕上。

在 iOS 7 上,播放位置滑块、持续时间和经过时间信息被添加到锁定屏幕和控制中心。但是,我找不到任何文档来设置这些信息并启用滑块来更改播放位置。

有没有办法解决这个问题?

4

3 回答 3

36

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];
于 2013-09-24T10:29:59.640 回答
8
于 2013-09-14T15:02:06.457 回答
3

请注意:Apple 的文档从未明确说明这一点——如果您使用 MPMusicPlayerController,您的音乐将由“音乐”应用程序在后台播放,并且您无法控制 nowPlayingInfoCenter。而且您不会收到由应用于锁定屏幕的用户操作(例如播放/暂停)生成的远程控制事件,因为这些事件通过 nowPlayingInfoCenter 传播到“音乐”应用程序,而不是您的应用程序。在使用其他媒体播放器时,例如 AV 或 AvAudio,您可以控制 nowPlayingInfoCenter 并接收远程控制事件。但是如果你使用 AVAudioSessionCategoryOptions.MixWithOthers 来设置 AV 播放器,你也无法控制 nowPlayingInfoCenter。我希望 Apple 能更好地记录这些细节。

于 2015-01-21T18:48:45.283 回答