[英]How to set current playback duration and elapsed time on iOS 7 lockscreen?
從iOS 5開始,每個音樂播放器都可以在[MPNowPlayingInfoCenter defaultCenter] .nowPlayingInfo上設置當前播放的音樂信息,如標題,藝術家,專輯標題和藝術作品,以顯示在鎖定屏幕上。
在iOS 7上,播放位置滑塊,持續時間和已用時間信息被添加到鎖定屏幕和控制中心。 但是,我找不到任何文檔來設置這些類型的信息並使滑塊能夠改變播放位置。
有什么方法可以解決這個問題嗎?
您需要將播放速率設置為1.0f,即使文檔默認情況下它是1.0。
NSDictionary *mediaInfo = @{
MPMediaItemPropertyTitle: audio.title,
MPMediaItemPropertyArtist: audio.artist,
MPMediaItemPropertyPlaybackDuration: audio.duration,
MPNowPlayingInfoPropertyPlaybackRate: @(1.0)
};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:mediaInfo];
它們都記錄在MPNowPlayingInfoCenter
的參考文獻中。 當前播放的屬性是可以設置或不設置的可選值。 鏈接到正常播放屬性列表末尾的句子中:
您可以設置的其他屬性在本文檔的“其他元數據屬性”中進行了描述 。 (強調我的)
您感興趣的屬性是: MPNowPlayingInfoPropertyElapsedPlaybackTime
和MPMediaItemPropertyPlaybackDuration
。
這些信息都是公開的,並且由於iOS 7 SDK似乎尚未發布(截至2013-09-14),我認為它在該版本的iOS之前也可用。
請注意:Apple的文檔從未明確說明 - 如果您使用MPMusicPlayerController,您的音樂將由“音樂”應用程序在幕后播放,您無法控制nowPlayingInfoCenter。 並且您不會收到由應用於鎖定屏幕的用戶操作(例如播放/暫停)生成的遠程控制事件,因為這些事件通過nowPlayingInfoCenter傳播到“音樂”應用程序,而不是您的應用程序。 使用其他媒體播放器(如AV或AvAudio)時,您可以控制nowPlayingInfoCenter並接收遙控器事件。 但是如果你使用AVAudioSessionCategoryOptions.MixWithOthers來設置AV播放器,你也無法控制nowPlayingInfoCenter。 我希望Apple更好地記錄這些細節。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.