gpt4 book ai didi

c# - 文件夹中所有媒体文件的运行时间/长度信息

转载 作者:行者123 更新时间:2023-12-04 16:30:26 25 4
gpt4 key购买 nike

如果像这样的文件夹中有多个媒体文件:

MediaFiles(folder)

-> file1.mp4
-> file2.mp4
...

当我们选择所有文件并

Right Click -> Properties

在“详细信息”选项卡的“属性”窗口中,有一个“长度”字段显示媒体文件的总运行时间,如下所示:

Properties windows

是否可以使用 C# 获取此信息?

最佳答案

如本 link 所示, 在 Microsoft.WindowsAPICodePack-Shell 的帮助下nuget包,可以得到总长度如下;

static void Main(string[] args)
{
DirectoryInfo dir = new DirectoryInfo(@"C:\to\your\path");
FileInfo[] files = dir.GetFiles("*.mp4");

var totalDuration = files.Sum(v => GetVideoDuration(v.FullName));
}

public static double GetVideoDuration(string filePath)
{
using (var shell = ShellObject.FromParsingName(filePath))
{
IShellProperty prop = shell.Properties.System.Media.Duration;
var t = (ulong)prop.ValueAsObject;
return TimeSpan.FromTicks((long)t).TotalMilliseconds;
}
}

关于c# - 文件夹中所有媒体文件的运行时间/长度信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47918600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com