java执行命令行出现问题

Runtime.getRuntime().exec("cmd /c E:\silkdecoder\windows\silk_v3_decoder.exe E:\1.silk E:\1.pcm");
Runtime.getRuntime().exec("cmd /c E:\ffmpeg\bin\ffmpeg.exe -y -f s16le -ar 24000 -ac 1 -i E:\1.pcm E:\1.mp3");

上述代码放在测试类中是正常的,但是放在一个http请求的controller处理中,出现了只有5秒音频产生(ps:正常的是10秒钟)

3个回答

可能是还没执行完就关闭了

但是为什么使用main方法执行测试是可以得呢?

exec 使用会有出现bug的情况,大体与流有关,如果线程内的流过多(具体多到什么程度我也不知)就会出现异常,,,,【用测试类一般测不出来,因为场景不一样(主要是说我自己还没测出来)】,建议 为exec单独开个线程试试!!!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问