簡體   English   中英

Silverlight媒體播放器位置問題

[英]Silverlight media player position problem

我面臨一個奇怪的問題。 我的應用程序播放來自特定位置的電影,因此即使是以毫秒為單位提到的位置對我也很重要。 我正在為媒體元素分配一個位置,但它顯示錯誤的幀。 我不知道為什么媒體播放器不會從我給出的位置上玩。

以下是一些示例代碼:

 TimeSpan oTimeSpan = TimeSpan.FromMilliseconds(16800200); // This shows 04:40:00.2000000

 MediaPlayer.Position = oTimeSpan;      // But after assigning, value is 04:40:00.1990000

這是分配前后的屏幕截圖: 替代文字

替代文字

誰能告訴我這里我做錯了什么?

雖然您可能會擔心在這種情況下的小數毫秒差異,但您必須記住,視頻每隔約33毫秒才會有一幀(使用標准NTSC 29.97 FPS)。 因此,除非您正在進行取證級別分析(在這種情況下MediaPlayer不是正確的工具),否則這比您應該需要的更准確。

由於TimeSpan在內部使用Int64,因此不應該有任何舍入問題,我的猜測是MediaPlayer正在捕捉到最近的可用視頻幀。

雖然timespan將它的屬性暴露為int,但我懷疑它在內部使用浮點值。 這些問題是由於存儲浮點值的方式。

您是否嘗試過檢查從TimeSpan.Equals(MediaPlayer.Position, oTimeSpan) 我懷疑這表明他們是平等的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM