Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义MediaStreamSource和MediaElement.Naturalduration属性_C#_Silverlight_Media_Mediaelement_Mediastreamsource - Fatal编程技术网

C# 自定义MediaStreamSource和MediaElement.Naturalduration属性

C# 自定义MediaStreamSource和MediaElement.Naturalduration属性,c#,silverlight,media,mediaelement,mediastreamsource,C#,Silverlight,Media,Mediaelement,Mediastreamsource,我已经编写了一个定制的mediastreamsource,它可以播放来自不断增长的源文件(mpeg传输流)的媒体。 一旦到达其媒体流的末尾,它将从媒体文件中读取新的持续时间,并继续交付样本。MediaElement连续播放 不幸的是,我还没有找到更新MediaElement.NaturalDuration属性的方法。因此,我无法进入“重新加载”区域,因为我不知道它,并将我的位置更改设置为其自然适应值 在获得新的流长度后,我尝试调用ReportOpenMediaCompleted。然后自然适应得到

我已经编写了一个定制的mediastreamsource,它可以播放来自不断增长的源文件(mpeg传输流)的媒体。 一旦到达其媒体流的末尾,它将从媒体文件中读取新的持续时间,并继续交付样本。MediaElement连续播放

不幸的是,我还没有找到更新MediaElement.NaturalDuration属性的方法。因此,我无法进入“重新加载”区域,因为我不知道它,并将我的位置更改设置为其自然适应值

在获得新的流长度后,我尝试调用ReportOpenMediaCompleted。然后自然适应得到更新,但我不能再玩了


有没有其他方法来处理它呢?

有时候生活会很轻松:-)

我在初始化MediaStreamSource时为MediaElement提供了一个“幻想”持续时间值,解决了这个问题:

protected override void OpenMediaAsync()
{
...
mediaSourceAttributes[MediaSourceAttributesKeys.Duration] = TimeSpan.FromHours(10).Ticks.ToString(CultureInfo.InvariantCulture);
this.ReportOpenMediaCompleted(mediaSourceAttributes, mediaStreamDescriptions);
}
剩下要做的唯一一件事就是用“真实”的持续时间更新我的滑块控件。 现在它就像一个符咒


Tilo

嗨,我可以知道你的应用程序的源代码吗?我真的很想知道如何实现这个难题。。。因为我有同样的问题,但我无法解决:(如果你能帮助我,我将不胜感激。非常感谢