2016-09-27 313 views

回答

2

我認爲你注意到的差異可能取決於你的應用程序實際上是在鎖定屏幕時玩。如果正在播放,則可以在鎖定屏幕時在播放和暫停之間切換,並且鎖定屏幕不會變爲空白。你必須修改現有的正在播放信息,當你暫停,你必須提供當前時間:

let mpic = MPNowPlayingInfoCenter.default() 
    if var d = mpic.nowPlayingInfo { 
     d[MPNowPlayingInfoPropertyPlaybackRate] = 0 
     d[MPNowPlayingInfoPropertyElapsedPlaybackTime] = p.currentTime 
     mpic.nowPlayingInfo = d 
    } 

下面是一些屏幕截圖(來自模擬器),這表明這工作。

這裏的鎖屏,而我的應用程序正在播放:

enter image description here

而這裏的鎖屏時,我點擊暫停按鈕:

enter image description here

你可以看到,它不不要空白。

+0

我使用Xamarin,一般可以申請非Xamarin具體的答案,但在這種情況下,它似乎不是這樣,我就不必再問,使其Xamarin具體...謝謝。 –

+0

但你有沒有測試過iOS 10上面的代碼?因爲在我看來,我幾乎做對Xamarin相同的(我把參考分配給nowPlayingInfo前,然後改變其MPNowPlayingInfoPropertyPlaybackRate,並重新分配給nowPlayingInfo)和所有我得到的是黑屏? –

+0

經過一些更多的測試後,我非常確定它是一個iOS 10的bug - 我已經看到Control Center正常工作,它與鎖屏共享信息。 –

0

經過一些測試,這似乎是iOS中的錯誤 - 如果控制中心顯示正確的信息和鎖屏是錯了,它是一個系統錯誤。

如果有人知道一些解決方法,我會保持開放的問題了一段時間,之後我將標誌着這是一個明確的答案。

編輯:由Matt的建議,這是iOS版的行爲,似乎之前的表現,但我沒有注意到。從我的角度來看,這是一個錯誤,我仍在尋找可能的解決方法。

+1

我修改了我的答案以顯示屏幕截圖,以證明這確實在鎖定屏幕中正常工作。我認爲你所看到的只是如果你在鎖定屏幕時暫停,你不能從鎖定屏幕再次啓動。但這已經是事實。 – matt

+0

是的,我正在問這個。嗯,我沒有注意到在iOS 10之前,但我想你是對的。在一天結束時,我認爲這是一個錯誤,它不應該是這樣的。我會加註你的答案並將其標記爲答案,正如我所說我認爲這是一個錯誤。 –