如何将视频的长度赋给进度条的最大值
本文关键字:最大值 视频 | 更新日期: 2023-09-27 18:11:29
我想将视频文件的自然持续时间转换为秒,因为我想设置进度条的最大值。但是我有这样的错误指定的CAST是无效的。
<ProgressBar Name="pb" Height="23" VerticalAlignment="Center"
Value="{Binding ElementName=Video, Path=Position,
Converter={StaticResource progressbarconvert}}"
Maximum="{Binding ElementName=Video,Path=NaturalDuration,
Converter={StaticResource progressbarconvert}}"></ProgressBar>
这是进度条的绑定代码。
TimeSpan t = (TimeSpan)value;
int seconds = t.Seconds;
seconds += t.Minutes * 60;
seconds += t.Hours * 360;
return seconds;
这是我的转换器代码错误。我有一个错误在TimeSpan t=(TimeSpan)值。这个错误的原因是什么?是否有任何替代的解决方案,给视频的长度进度条的最大值??
首先,NaturalDuration的类型是Duration,所以类型转换将不同于Positionhttps://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.naturalduration%28v=vs.110%29.aspx?f=255& MSPPError = -2147217396
第二,当你转换到持续时间时,你需要检查值HasTimeSpan,因为如果视频没有加载和播放,你还没有这个值