c# 调用 ffmpeg 获取音频时长

复制代码
                    var arg = "-i \"" + filepath + "\" 2";
                    TimeSpan duration = TimeSpan.Zero;
                    await FFMpeg.Xamarin.FFmpegLibrary.Run(this.BaseContext, arg, (line) =>
                    {
                        System.Diagnostics.Debug.WriteLine("ffmpeg output:" + line);
                        var regex = new Regex(@"Duration: (\d+):(\d\d):(\d\d)\.(\d+)");
                        var match = regex.Match(line);
                        if (match.Success)
                        {
                            var hours = int.Parse(match.Groups[1].Value);
                            var minutes = int.Parse(match.Groups[2].Value);
                            var seconds = int.Parse(match.Groups[3].Value);
                            var milliseconds = int.Parse(match.Groups[4].Value) * 10;
                            duration = new TimeSpan(0, hours, minutes, seconds, milliseconds);
                        }
                    });
复制代码

 

posted on   空明流光  阅读(135)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-01-12 java 定时器的使用
2023-01-12 跨进程同步锁的实现方法:
2023-01-12 java 通过 nmap 跨进程内存共享

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示