1234567891011121314151617181920212223242526272829303132 |
- using CliWrap;
- using CliWrap.Buffered;
- using Ips.Library.Basic;
- using Ips.Library.Entity;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace Ips.DetAlgorithm
- {
- public static class DetDmtUtil
- {
- static readonly string CliFile = Path.Combine(IpsPath.CliRootDir, "detdmt", "detdmt.exe");
- public static async Task<ExeResult<string>> Disc(string filename, double freq, int fs, int timeout = 120, CancellationToken token = default)
- {
- var cli = Cli.Wrap(CliFile)
- .WithArguments(args =>
- {
- args.Add(filename);
- args.Add(freq);
- args.Add(fs);
- })
- .WithWorkingDirectory(Path.GetDirectoryName(CliFile));
- var res = await cli.ExecuteBufferedAsync(token.LinkTimeout(timeout));
- var result = res.StandardOutput;
- return ExeResult.Create(result, cli.Arguments, res.StartTime, res.ExitTime, res.ExitCode, res.StandardError);
- }
- }
- }
|