C# Vlc.DotNet如何打开视频并在Wpf中显示第一帧?

C# Vlc.DotNet如何打开视频并在Wpf中显示第一帧?,c#,wpf,vlc,libvlc,vlc.dotnet,C#,Wpf,Vlc,Libvlc,Vlc.dotnet,我使用的是Vlc.DotNet.Wpf,我需要播放器加载视频并只显示第一帧,这样控件就有了一个合适的大小,用户就可以看到视频在说什么,这怎么办 如果我调用\u vlcPlayer.SourceProvider.MediaPlayer.SetMedia(stream)什么都没有发生,如果我调用\u vlcPlayer.SourceProvider.MediaPlayer.Play(stream)则播放运行多帧的视频 我尝试了\u vlcPlayer.SourceProvider.MediaPlay

我使用的是
Vlc.DotNet.Wpf
,我需要播放器加载视频并只显示第一帧,这样控件就有了一个合适的大小,用户就可以看到视频在说什么,这怎么办

如果我调用
\u vlcPlayer.SourceProvider.MediaPlayer.SetMedia(stream)
什么都没有发生,如果我调用
\u vlcPlayer.SourceProvider.MediaPlayer.Play(stream)
则播放运行多帧的视频

我尝试了
\u vlcPlayer.SourceProvider.MediaPlayer.Time=1
什么也没发生


如何做到这一点?

您可以解析媒体并从第一个视频曲目中找到其宽度和高度

您可以使用快照API获取可以显示的视频的jpeg快照。(该API将在libvlc4中更改)


您还可以使用“播放”,并在获得播放事件后立即暂停视频(不要忘记切换线程)。

您可以解析媒体,并从第一个视频曲目中找到其宽度和高度

您可以使用快照API获取可以显示的视频的jpeg快照。(该API将在libvlc4中更改)


您也可以使用play,在获得播放事件后立即暂停视频(别忘了切换线程)。

除了cube45的答案之外,我相信有一个libvlc选项可供选择

--start-paused, --no-start-paused 
                                 Start paused
                                 (default disabled)
          Pause each item in the playlist on the first frame.

除了cube45的答案之外,我相信有一个libvlc选项可供选择

--start-paused, --no-start-paused 
                                 Start paused
                                 (default disabled)
          Pause each item in the playlist on the first frame.

它不会显示第一帧,因此当然也不会更新控件大小。我尝试了
Vlc.DotNet.Wpf
<代码>\u vlcPlayer.SourceProvider.CreatePlayer(libDirectory,“--start paused”)不,我的意思是,您是否尝试过VLC media player应用程序。这是一个很好的故障排除方法,首先尝试使用VLC appIt,它不会显示第一帧,因此当然也不会更新控件。我尝试了
Vlc.DotNet.Wpf
<代码>\u vlcPlayer.SourceProvider.CreatePlayer(libDirectory,“--start paused”)不,我的意思是,您是否尝试过VLC media player应用程序。这是一个很好的故障排除方法,首先尝试使用VLC应用程序