gpt4 book ai didi

c# - 添加包含帧的持续时间

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:28 25 4
gpt4 key购买 nike

我有一个包含帧的持续时间:

e.g1: 00:00:00:00
hh:mm:ss:FR

FR - 代表帧,对于中东/亚洲地区是 25 帧。

但在 C# 中,它以最后一个 FR 为秒(即 60 秒)。

 e.g2: 00:00:00:00
DD:hh:mm:ss

现在如何在 C# 中添加 e.g1

我能知道这种格式如何添加两个持续时间吗?

  TimeSpan t1 = TimeSpan.Parse(duration);
TimeSpan t2 = TimeSpan.Parse("00:00:30:18");
TimeSpan t3 = t1.Add(t2);

最佳答案

在此持续时间 "00:00:30:18" 中,18 被视为毫秒而不是帧,因此 Timespan.Duration 对您不起作用,并且你需要一些自定义的东西(用于显示可能有效但不能加减):

public static class Extensions
{
public static TimeSpan AddWithFrames(this TimeSpan x, TimeSpan ts)
{
int fr = ts.Seconds + x.Seconds;
TimeSpan result = x.Add(ts).Add(new TimeSpan(0,0,fr/25,0));
return new TimeSpan(result.Days, result.Hours, result.Minutes, fr % 25);
}
}

像这样使用它:

 TimeSpan t1 = TimeSpan.Parse(duration);
TimeSpan t2 = TimeSpan.Parse("00:00:30:18");
TimeSpan t3 = t1.AddWithFrames(t2);

关于c# - 添加包含帧的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53896706/

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