首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS 7锁屏上设置当前播放时长和流逝时间?

如何在iOS 7锁屏上设置当前播放时长和流逝时间?
EN

Stack Overflow用户
提问于 2013-09-14 18:40:42
回答 3查看 15.4K关注 0票数 19

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

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-24 18:30:00

您需要将播放速率设置为1.0f,即使文档显示默认为1.0。

代码语言:javascript
复制
NSDictionary *mediaInfo = @{
    MPMediaItemPropertyTitle: audio.title,
    MPMediaItemPropertyArtist: audio.artist,
    MPMediaItemPropertyPlaybackDuration: audio.duration,
    MPNowPlayingInfoPropertyPlaybackRate: @(1.0)
};

[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo];
票数 36
EN

Stack Overflow用户

发布于 2013-09-14 23:02:06

它们都记录在MPNowPlayingInfoCenter的参考资料中。当前播放属性是可选的值,可以设置也可以不设置。该链接位于正常播放属性列表末尾的句子中:

本文档以“Additional Metadata Properties.”的形式介绍了您可以设置的其他属性。(强调我的)

您感兴趣的属性包括:MPNowPlayingInfoPropertyElapsedPlaybackTimeMPMediaItemPropertyPlaybackDuration

这些信息都是公开的,而且由于iOS 7SDK似乎还没有发布(截至2013-09-14),我假设它也是在该版本的iOS之前发布的。

票数 8
EN

Stack Overflow用户

发布于 2015-01-22 02:48:45

需要注意的是:苹果的文件从来没有明确说明这一点--如果你使用MPMusicPlayerController,你的音乐是由“音乐”应用程序在引擎盖下播放的,你对nowPlayingInfoCenter没有任何控制。您将不会收到应用于锁定屏幕的用户操作(如播放/暂停)生成的远程控制事件,因为这些事件通过nowPlayingInfoCenter传播到“音乐”应用程序,而不是您的应用程序。使用AV或AvAudio等其他媒体播放器时,您可以控制nowPlayingInfoCenter并接收远程控制事件。但是如果你使用AVAudioSessionCategoryOptions.MixWithOthers来设置AV播放器,你也不能控制nowPlayingInfoCenter。我希望苹果能更好地记录这些细节。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18800889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档