2014-10-06 137 views
0

我已經創建了AVPlayer並將forwardPlaybackEndTime設置爲使本地視頻在給定時間戳停止。果然,視頻在我請求的時候停止。都好。在forwardPlaybackEndTime後恢復AVPlayer

現在我希望視頻在用戶操作觸發時繼續(例如,觸摸按鈕)。不幸的是,如果沒有從一開始就重新開始視頻,我似乎無法做到這一點。

饒你所有的AVPlayer設置代碼(其中大部分是從AV Foundation Programming Guide拍攝),但考慮到這些變量:

AVPlayer *avPlayer; 
AVPlayerItem *playerItem; 

我可以像設置結束時間,以便:

[playerItem setForwardPlaybackEndTime: CMTimeMake(30, 30)]; 

要嘗試的簡歷,我已經試過這樣:

[playerItem setForwardPlaybackEndTime: CMTimeMake(30, 30)]; 
[avPlayer setRate: 1.0]; 

沒有骰子。我也嘗試設置結束時間並致電play。沒有運氣。我試過seekToTime將播放頭放在視頻停止的地方,以防有所幫助。它沒有。

有人可以請解釋如何使這項工作?謝謝!

回答

1

嘗試將forwardPlaybackEndTime恢復爲默認值kCMTimeInvalid然後繼續播放視頻。

[playerItem setForwardPlaybackEndTime: kCMTimeInvalid]; 
[playerItem seekToTime: CMTimeMake(30, 30) toleranceBefore: kCMTimeZero toleranceAfter: kCMTimeZero]; 
[avPlayer play]; 
+0

不起作用。這也將視頻重新開始,然後運行到最後。 – Axeva 2014-10-06 21:57:17

+0

上面的編輯版本如何?尋找你離開的點,然後繼續。 – picciano 2014-10-06 22:02:07

+0

仍然沒有好處。視頻總是從頭開始重新開始。 – Axeva 2014-10-06 22:05:41