我正在使用C#开发包含4个快照Win软件的视频列表。 VLC dotnet声音可以很好地捕获不同的视频格式快照。
我想为每个视频拍摄4张快照。不幸的是, player.GetMedia()。Duration.TotalSeconds 总是-0.001,这意味着媒体尚未设置为播放器。
但是我使用 player.play()这是有效的,并提示新表单来播放我的视频。怎么会?
我从VS 2015 NuGet Package Manager中提取Vlc dotnet。在互联网上找不到参考,以便在这个平台上寻求帮助。希望有人帮我一把。
这是我的代码
Vlc.DotNet.Core.VlcMediaPlayer player = new Vlc.DotNet.Core.VlcMediaPlayer(new System.IO.DirectoryInfo("C:\\Program Files (x86)\\VideoLAN\\VLC"));
Vlc.DotNet.Core.VlcMedia media = player.SetMedia(new System.IO.FileInfo(videoFullPath));
double len = player.GetMedia().Duration.TotalSeconds;
interval = (int)(len * 0.95) / 4;
int counter = 0;
for (int i = 0; i < len; i = i + interval)
{
player.Position = i;
counter++;
player.TakeSnapshot(
new System.IO.FileInfo(
storagePath + "\\" + screenShotPrefix
+ System.IO.Path.GetFileNameWithoutExtension(fileName)
+ "\\screenshot_" + counter.ToString() + counter.ToString() + ".jpg"
), 320, 240);
}