2016-12-12 64 views
0

所以我有一個播放視頻的播放器內置的應用程序,我在didBecomeActive和willResignActive方法[播放暫停]和[玩的球員。大部分時間都可以正常工作,但是當我打開應用程序並按回家按鈕並再次重複該過程時,即使看到播放方法被調用,第8次視頻也不會播放。的iOS:AVPlayer玩不會玩,有時

有沒有人有任何想法可能會發生什麼?

+0

分享一些代碼(您的代表和方法),這樣的人可以幫你 –

回答

1

該應用程序可以處於幾個不是前景的狀態。在玩之前,檢查一下你是否仍然有player,它仍然有player.currentItem,如果它的狀態是AVPlayerStatusReadyToPlay

如果這些條件中的任何一個都不符合,那麼播放器和項目必須使用您用於創建它的代碼重新初始化。

這是您的player屬性的懶惰初始值設定項的最佳人選。

+0

看起來,這個問題是視頻播放最後剩下1秒鐘之內 - 如果我按Home鍵,然後再重新打開的應用程序 - 我注意到,玩家有一個currentItem,其比率設置爲1.0,並且是ReadyToPlay,但Play方法什麼也不做。作爲一種變通方法我添加了一個代碼來破壞玩家的項目,再建造它,如果用戶的視頻:(最後一秒內按下主頁按鈕 – mcocaro

+0

什麼可以發生的是,球員的狀態與比賽改變應用程序正在改變活動狀態,你是否實現了應用程序將會退出活動?https://developer.apple.com/reference/uikit/uiapplicationdelegate/1622950-applicationwillresignactive你應該,暫停或停止播放 – danh

+0

是的,在辭職狀態I暫停播放器並檢查狀態是ReadyToPlay。 – mcocaro