try
{
string filename = "E:\\sox-14-4-0\\mysamplevoice.wav";
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "E:\\sox-14-4-0\\sox.exe ";
p.StartInfo.Arguments = filename + " -n stat";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
}
catch(Exception Ex)
{
Console.WriteLine(Ex.Message);
}
输出始终为空。当我运行在命令提示符sox
命令我能得到这样的回应:Sox返回一些值,但StandardOutput.ReadToEnd()返回空
E:\sox-14-4-0>sox mysamplevoice.wav -n stat
Samples read: 26640
Length (seconds): 3.330000
Scaled by: 2147483647.0
Maximum amplitude: 0.515625
Minimum amplitude: -0.734375
Midline amplitude: -0.109375
Mean norm: 0.058691
Mean amplitude: 0.000122
RMS amplitude: 0.101146
Maximum delta: 0.550781
Minimum delta: 0.000000
Mean delta: 0.021387
RMS delta: 0.041831
Rough frequency: 526
Volume adjustment: 1.362
当运行在C#中相同的命令,我得到了相同的结果,而是“输出”值为空。
我不知道,即时通讯新的N I认为some1一直错误地编辑它。为此道歉,不会再这样做。 –
在这些名称末尾带有♦的用户是主持人,因此您通常不应该回复他们的操作。如果您有问题/不明白编辑的原因,您可以使用包含@TheEditorsNickname的注释“编辑”编辑器。 – Mat
@Mat:谢谢你的信息。 –