我使用Vlc.DotNet.Wpf
,我需要播放器加载视频并仅显示第一帧,以便控件获得适当的大小,并且用户可以看到视频在说什么,这怎么办?完成吗?
如果我呼叫_vlcPlayer.SourceProvider.MediaPlayer.SetMedia(stream)
,则什么也没有发生;如果我呼叫_vlcPlayer.SourceProvider.MediaPlayer.Play(stream)
,则视频播放的帧数超过一帧。
我尝试_vlcPlayer.SourceProvider.MediaPlayer.Time = 1
没事。
这怎么办?
答案 0 :(得分:1)
您可以解析媒体并从第一个视频轨道中找到其宽度和高度。
您可以使用快照API获取可以显示的视频的jpeg快照。 (该API将在libvlc4中更改)
您还可以使用播放功能,并在获得“播放”事件后立即暂停视频(不要忘记切换线程)。
答案 1 :(得分:1)
或者,对于cube45的答案,我相信还有一个libvlc选项。
--start-paused, --no-start-paused
Start paused
(default disabled)
Pause each item in the playlist on the first frame.
答案 2 :(得分:1)
我让它与此代码一起工作:
vlcVideoPlayer.VlcMediaplayerOptions = new string[]{"--start-paused"};
vlcVideoPlayer.Play(new Uri("Video Link/Directory"));
vlcVideoPlayer.Time = 1;
希望它对你有用。