具有源URL的WPF MediaElement从不具有HasTimeSpan吗?

时间:2018-11-15 14:04:26

标签: wpf url mediaelement

我尝试从URL来源播放视频。触发MediaOpened时,

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

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

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

基于URL的源代码总是这样吗?

还有没有其他方法可以获取基于URL的来源的媒体持续时间?

我正在使用.net 4.6.1。

2 个答案:

答案 0 :(得分:0)

问题似乎出在您使用的视频格式上。我测试了这段代码,它工作正常。

XAML:

from django.urls import path
from djangoapp5 import views

urlpatterns = [
    path('', TestView.as_view(), name='test_form'),
    path('thanks/', views.ThanksView, name='vader:thanks'),

]

代码:

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

答案 1 :(得分:-1)

同时,我无法重现问题中所述的问题。现在,通过servlet从Tomcat流传输的视频(请参阅我对HYA答案的评论)有一个​​时间跨度。我想知道这是否是由于.Net框架中的“次要”更新。