NutzCN Logo
问答 Nutz的Lang.exec执行命令卡死
发布于 2729天前 作者 蛋蛋的忧伤 1836 次浏览 复制 上一个帖子 下一个帖子
标签:

我在使用Lang.exec执行命令行命令时卡死了,我把命令复制出来到控制台运行可以直接跑完,不知为什么就卡死了.

  String cmd="cmd.exe /c F:\\zhuanma\\silk_v3_decoder.exe "+silk+" "+pcm;
        try
        {
            Lang.execOutput(cmd, Encoding.CHARSET_GBK);
        }
12 回复

命令行下输出什么

C:\Windows\system32>F:\zhuanma\silk_v3_decoder.exe F:\zhuanma\vg2ub41omgipvrmur1fnssd3tq.silk F:\zhuanma\a.pcm
********** Silk Decoder (Fixed Point) v 1.0.9.6 ********************
********** Compiled for 32 bit cpu *******************************
Input:                       F:\zhuanma\vg2ub41omgipvrmur1fnssd3tq.silk
Output:                      F:\zhuanma\a.pcm
Packets decoded:              338
Decoding Finished

File length:                 6.760 s
Time for decoding:           0.012 s (0.176% of realtime)

命令已经成功执行了,虽然程序在卡着,但是文件已经转码好了,不过程序卡了我以后的流程就走不了了啊...

加-quiet

String cmd="cmd.exe /c F:\\zhuanma\\silk_v3_decoder.exe -quiet "+silk+" "+pcm;

直接就走过去了,没有转码成功

贴当前的代码

 public static boolean getPcm(String silk,String pcm){
        boolean flag = true;
        Process p;
        String cmd="cmd.exe /c F:\\zhuanma\\silk_v3_decoder.exe -quiet "+silk+" "+pcm;
        try
        {
            Lang.execOutput(cmd, Encoding.CHARSET_GBK);
        }
        catch (IOException e)
        {
            e.printStackTrace();
            flag = false;
            return flag;
        }

        return flag;
    }

不报错,只是没有效果

有返回值的,打印一下


StringBuilder msg = Lang.execOutput(cmd, Encoding.CHARSET_GBK); System.out.println(msg); Error: unrecognized setting: F:\zhuanma\vg2ub41omgipvrmur1fnssd3tq.pcm Version:20160922 Build By kn007 (kn007.net) Github: https://github.com/kn007/silk-v3-decoder usage: F:\zhuanma\silk_v3_decoder.exe in.bit out.pcm [settings] in.bit : Bitstream input to decoder out.pcm : Speech output from decoder settings: -Fs_API <Hz> : Sampling rate of output signal in Hz; default: 24000 -loss <perc> : Simulated packet loss percentage (0-100); default: 0 -quiet : Print out just some basic values

原来要最后面才行

String cmd="cmd.exe /c F:\\zhuanma\\silk_v3_decoder.exe "+silk+" "+pcm + " -quiet";

添加回复
请先登陆
回到顶部