7
使用libvlc,我如何獲得libvlc_media_player_get_time()以返回更準確的結果?對於60fps的視頻,它返回的值最多隻能每秒更新幾次。有什麼方法可以獲得幀準確的時間?如何獲得libvlc_media_player_get_time()以返回更準確的結果?
使用libvlc,我如何獲得libvlc_media_player_get_time()以返回更準確的結果?對於60fps的視頻,它返回的值最多隻能每秒更新幾次。有什麼方法可以獲得幀準確的時間?如何獲得libvlc_media_player_get_time()以返回更準確的結果?
這issue說,沒有辦法從libvlc得到更準確的結果。
但是,可以估算出它:我有這個問題,因爲我正在創建的播放器播放短片製作(<1分鐘長)和慢速時間更新
private long lastPlayTime = 0;
private long lastPlayTimeGlobal = 0;
/**
* Get current play time (interpolated)
* @see https://github.com/caprica/vlcj/issues/74
* @return
*/
public float getCurrentTime(){
long currentTime = directMediaPlayer.getTime();
if (lastPlayTime == currentTime && lastPlayTime != 0){
currentTime += System.currentTimeMillis() - lastPlayTimeGlobal;
} else {
lastPlayTime = currentTime;
lastPlayTimeGlobal = System.currentTimeMillis();
}
return currentTime * 0.001f; //to float
}
太棒了,這是很棒的解決方案 – user25
使位置指標顯得呆滯和波濤洶涌。令人沮喪的是,沒有真正的解決方案。 – arjabbar