我有一个MediaElement,它错误地、古怪地报告了它的位置,但始终如一。当它到达音频的最后一秒时(而且总是最后一秒,不管声音是2秒还是10秒),它在结束之前不会更新它的位置。
实例输出:
播放进度:0/3.99-0播放
进度:0.01/3.99-0回放
进度:0.03/3.99-0回放
进度:0.06/3.99-1次播放
进度:0.07/3.99-1次播放
进度:0.08/3.99-2次播放
进度:0.11/3.99-2次播放
进度:0.14/3.99-3回放
进度:0.19/3.99-4次播放
进度:0.23/3.99-5回放
进度:0.25/3.99-6回放
进度:0.28/3.99-7回放
进度:0.3/3.99-7回放
[剪辑]
播放进度:2.8/3.99-70
播放进度:2.83/3.99-70
播放进度:2.88/3.99-72
播放进度:2.9/3.99-72
播放进度:2.91/3.99-72
播放进度:2.92/3.99-73
播放进度:2.99/3.99-74
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3/3.99-75
播放进度:3.99/3.99-100
这是由于:
WriteLine("Playback Progress: " + Position + "/" + LengthInSeconds + " - " + (int)((Position / LengthInSeconds) * 100));
public double Position
{
get
{
return my_media_element != null ? my_media_element.Position.TotalSeconds : 0;
}
}
public double LengthInSeconds
{
get
{
return my_media_element != null ? my_media_element.NaturalDuration.TimeSpan.TotalSeconds : 0;
}
}
有人知道为什么会发生这种情况吗?