代码之家  ›  专栏  ›  技术社区  ›  user7399085

wpf mediaellent,具有源url never hastinespan?

  •  0
  • user7399085  · 技术社区  · 7 年前

    我试着播放一段来自url源的视频。什么时候? MediaOpened 被发射,测试进入

    private void OnMediaOpened(object sender, EventArgs e)
    {
        if (mediaView.NaturalDuration.HasTimeSpan)
        {
            // ...
        }
        // ...
    }
    

    始终返回false,并且无法在媒体时间范围内定位。

    备注:如果我使用文件作为源,则 HasTimeSpan 是真的 MediaElement.NaturalDuration.TimeSpan 可以检索。

    基于url的源总是这样吗?

    是否有其他方法可以获取基于url的源的媒体持续时间?

    我用的是.net 4.6.1。

    2 回复  |  直到 7 年前
        1
  •  0
  •   HYA    7 年前

    问题似乎出在你使用的视频格式上。我测试了这个代码,它工作得很好。

    XAML:

     <MediaElement
                x:Name="mediaView"
                MediaOpened="OnMediaOpened"
                Source="http://mirrors.standaloneinstaller.com/video-sample/Panasonic_HDC_TM_700_P_50i.mp4" />
    

    代码:

     private void OnMediaOpened(object sender, RoutedEventArgs e)
            {
                if (mediaView.NaturalDuration.HasTimeSpan)
                {
                    MessageBox.Show("It has TimeSpan and its duration is : " + Convert.ToString(mediaView.NaturalDuration) );
                }
            }
    
        2
  •  -1
  •   user7399085    7 年前

    同时,我不能复制我的问题中描述的问题。我的tomcat通过一个servlet(参见我对hya回答的评论)传输的视频现在有一个时间跨度。我想知道这是不是由于.NET框架中的一个“小”更新。

    推荐文章