gpt4 book ai didi

c# - 自定义 MediaStreamSource 和 MediaElement.Naturalduration 属性

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:59 24 4
gpt4 key购买 nike

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

很遗憾,我还没有找到更新 MediaElement.NaturalDuration 属性的方法。因此我无法进入“重新加载”区域,因为 ME 不知道它并将我的位置更改设置为它的 NaturalDuration 值。

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

还有什么办法可以解决吗?

最佳答案

有时候生活可以如此轻松:-)

我解决了它在初始化我的 MediaStreamSource 时给 MediaElement 一个“幻想”持续时间值:

protected override void OpenMediaAsync()
{
...
mediaSourceAttributes[MediaSourceAttributesKeys.Duration] = TimeSpan.FromHours(10).Ticks.ToString(CultureInfo.InvariantCulture);
this.ReportOpenMediaCompleted(mediaSourceAttributes, mediaStreamDescriptions);
}

唯一剩下要做的就是用“真实”持续时间更新我的 slider 控件。现在它就像一个魅力......

提洛

关于c# - 自定义 MediaStreamSource 和 MediaElement.Naturalduration 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3387959/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com