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:謝謝你的信息。 –