11

我的应用程序不支持回到以前的曲目,我想知道我是否可以告诉锁屏音乐控件隐藏他们的倒带/上一个曲目按钮。我使用 将该MPNowPlayingInfoCenter信息传达给锁定屏幕。

很简单的问题,可以吗?例如,只显示播放/暂停和向前跳过?

4

3 回答 3

20

从 iOS 7.1 开始,有一种方法可以自定义锁定屏幕和命令中心(可能还有许多其他附件)中可用的控件:MPRemoteCommandCenter.

关于您的问题,您可以执行以下操作:

[MPRemoteCommandCenter sharedCommandCenter].previousTrackCommand.enabled = NO;
[MPRemoteCommandCenter sharedCommandCenter].skipBackwardCommand.enabled = NO;
[MPRemoteCommandCenter sharedCommandCenter].seekBackwardCommand.enabled = NO;

// You must also register for any other command in order to take control
// of the command center, or else disabling other commands does not work.
// For example:
[MPRemoteCommandCenter sharedCommandCenter].playCommand.enabled = YES;
[[MPRemoteCommandCenter sharedCommandCenter].playCommand addTarget:self action:@selector(play)];

有关 MPRemoteCommandCenter 的更多一般信息,请参阅此 Stack Overflow 答案

于 2015-03-08T10:25:14.880 回答
9

过时的:

我认为简短的回答是否定的。文档是这样说的——

“您无法直接控制显示哪些信息或其格式。您可以根据要提供给系统的信息来设置正在播放的信息中心字典的值。系统或连接的附件会处理所有应用程序的信息以一致的方式显示。”

于 2014-01-24T14:13:11.153 回答
0

我发现如果我没有设置 nowPlayingInfo n MPNowPlayingInfoCenter 那么我试图从默认锁屏播放器中进行的更改没有注册。确保您正在设置 MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo,如下所示:

 var songInfo: NSMutableDictionary = [
        MPMediaItemPropertyTitle: "song title",
        MPMediaItemPropertyArtist: "artiest ",
    ]
    MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = songInfo as [NSObject : AnyObject]
于 2019-06-10T20:26:14.567 回答