C#有一个file怎么获取视频的总时长
时间: 2024-09-10 11:09:02 浏览: 98
利用ffmpeg获取视频封面图,时长信息
5星 · 资源好评率100%
在C#中,如果你想获取视频文件的总时长,可以使用`System.Media`命名空间下的`SoundPlayer`类或者使用第三方库如`MediaToolkit`。这里提供一个使用`MediaToolkit`库的示例,因为它可以直接获取视频文件的详细信息,包括时长。
首先,你需要安装`MediaToolkit`库。可以通过NuGet包管理器安装:
```shell
Install-Package MediaToolkit
```
然后,你可以使用以下代码获取视频文件的总时长:
```csharp
using MediaToolkit;
using MediaToolkit.Model;
using System;
public class VideoDurationExample
{
public static void Main()
{
string inputVideoPath = @"C:\path\to\your\video.mp4"; // 视频文件路径
string outputVideoPath = null; // 输出文件路径,如果不是转换视频,可以设为null
// 获取视频文件信息
var inputFile = new MediaFile { Filename = inputVideoPath };
var outputFile = new MediaFile { Filename = outputVideoPath };
using (var engine = new Engine())
{
// 转换视频(这里只是读取视频信息,并不会转换视频)
var result = engine.GetMetadata(inputFile, outputFile);
// 输出视频总时长(秒)
Console.WriteLine("视频总时长: {0} 秒", result.Duration.TotalSeconds);
}
}
}
```
在这段代码中,我们创建了`MediaToolkit`的`Engine`实例,然后使用`GetMetadata`方法来获取视频文件的元数据。`result.Duration`属性会返回一个`TimeSpan`对象,它包含了视频的总时长信息。
阅读全文