C#怎么获取视频的总时长
时间: 2024-09-11 22:03:13 浏览: 60
C#获取视频时长,并且视频截图
4星 · 用户满意度95%
在C#中,获取视频文件的总时长可以通过使用`System.Windows.Media`命名空间下的`Duration`类来实现,但是这个方法适用于WPF(Windows Presentation Foundation)项目中。对于普通的.NET项目,你可以使用`WMPLib`或者调用系统命令来获取视频文件的总时长。下面是一个使用`WMPLib`的示例代码:
```csharp
using WMPLib;
public static double GetVideoDuration(string filePath)
{
if (File.Exists(filePath))
{
using (WindowsMediaPlayer wmp = new WindowsMediaPlayer())
{
wmp.URL = filePath;
return wmp.currentMedia.duration;
}
}
else
{
throw new FileNotFoundException("视频文件未找到", filePath);
}
}
```
在这个示例中,我们首先检查视频文件是否存在。如果存在,我们创建一个`WindowsMediaPlayer`对象并设置它的`URL`属性为视频文件的路径,这样媒体播放器就会加载视频文件。然后,我们通过`currentMedia.duration`属性获取视频的总时长。
在实际应用中,你可能需要根据不同的需求来选择不同的方法。如果是开发WPF应用,使用`System.Windows.Media`是一个不错的选择;如果是普通的.NET控制台应用程序,则可以考虑使用`WMPLib`或者通过其他第三方库如FFmpeg来获取视频时长。
阅读全文