我有一个用 C# 编写的程序和由 praat(语音软件)计算的值。我已经有一个使用 praatcon.exe 运行的 praat 脚本,它在 Windows 控制台 (cmd.exe) 上打印结果。我可以在我的 C# 应用程序中使用这个结果吗?如何?
或者有没有更好的方法来获得结果,例如使用命令“sendsocket”?这个怎么用?
编辑:它适用于这段代码:
ProcessStartInfo si = new ProcessStartInfo();
si.FileName = "praatcon.exe"; //name of the handle program from sysinternals
//assumes that it is in the exe directory or in your path
//environment variable
//the following three lines are required to be able to read the output (StandardOutput)
//and hide the exe window.
si.RedirectStandardOutput = true;
si.WindowStyle = ProcessWindowStyle.Hidden;
si.UseShellExecute = false;
si.Arguments = "-a example.praat filename.wav"; //you can specify whatever parameters praatcon.exe needs here; -a is mandatory!
//these 4 lines create a process object, start it, then read the output to
//a new string variable "s"
Process p = new Process();
p.StartInfo = si;
p.Start();
string s = p.StandardOutput.ReadToEnd();
在 praatcon.exe 中使用“-a”参数非常重要。请参阅此处的说明。