我正在使用 MediaPlayer 类在 c# 中编写自定义音频播放器。我已经实现了一个滚动条,这样用户就可以通过一个轨道来寻找,这就是我遇到问题的地方。
当用户选择音轨(从 xml 播放列表加载)时,应用程序会计算音轨的长度(以秒为单位)并将其设置为滚动条的最大值。除了NaturalDuration.TimeSpan属性有时返回 0 而不是数量之外,这一切都很好。我通过添加一个循环来证明这一点,该循环在NaturalDuration.HasTimeSpan为真时退出,然后返回 NaturalDuration.TimeSpan 值。
我的问题是,当NaturalDuration.HasTimeSpan更改为 true时,我怎样才能获得NaturalDuration.TimeSpan ?