2011-06-12 69 views
1

我試圖從0.02秒播放相當短的視頻(0.05秒)。我使用以下代碼:爲iPhone使用AVPlayer,SeekToTime只爲我重新啓動視頻

CMTime tolerance = CMTimeMake(0,1); 
CMTime replayBeginTime = CMTimeMake(1, 50); 

[player seekToTime: replayBeginTime toleranceBefore: tolerance toleranceAfter: tolerance]; 
[player play]; 

其中player是AVPlayer *。視頻從開始到結束都能正常播放,然後我點擊一個按鈕可以回到大致中途點,並且應該從那裏播放,但每次只是重新啓動視頻。

我不是100%確定我正確使用CMTimeMake。

任何幫助搞清楚我做錯了什麼將不勝感激。

+0

嘗試kCMTimeZero也許?這是文檔引用的內容。 – axiixc 2011-06-15 03:08:59

回答

6

您正在創建一個值爲1/50 = 0.02的CMTime,因此您正在使用CMTimeMake。但我想也許你應該使用CMTimeMakeWithSeconds來代替。由於CMTimeMake只能取秒數的整數值,而CMTimeMakeWithSeconds可以取一個浮點數。 你應該這樣使用它。

CMTime newTime = CMTimeMakeWithSeconds(0.2, 1); 
[player seekToTime:newTime]; 

祝你好運。

相關問題