这是这个问题的分叉问题:flac: "ERROR: input file has an ID3v2 tag" (it doesn't)。我已经解决了最初的问题,但这并没有解决我遇到的一个问题,所以我将在此单独介绍它。Java接收到执行Ruby脚本的错误;终端不是
我使用称为speech2text的Ruby gem将音频文件转换为(近似)文本。在命令行上调用它可以正常工作(Mac终端)。但是,下面的Java代码:
String[] cmd = {"speech2text", "tmp/audio/pop-test-audio.wav"};
ProcessBuilder builder = new ProcessBuilder(cmd);
builder.redirectErrorStream(true);
Process process = builder.start();
只接收来自过程流这回:
/Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_inspector.rb:50:in `initialize': undefined method `first' for nil:NilClass (NoMethodError)
from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_splitter.rb:77:in `new'
from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_splitter.rb:77:in `initialize'
from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:15:in `new'
from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/lib/speech/audio_to_text.rb:15:in `to_text'
from /Library/Ruby/Gems/1.8/gems/speech2text-0.3.4/bin/speech2text:11
from /usr/bin/speech2text:19:in `load'
from /usr/bin/speech2text:19
我不知道什么红宝石,因此我的轻量级应用通过Java库的。我真的不知道这里发生了什么,但我知道它在终端以完全相同的方式执行时工作。有没有人知道可能会导致这种情况?
嗯。路径tmp/audio ...实际上在Java Eclipse项目的文件夹中。它适用于其他程序,但你可能是对的 - 可能是Ruby不那么受欢迎。我会检查它,谢谢! – mtrc 2012-03-25 16:37:54
好吧,完整路径无法使用。我测试了它在不正确的路径上运行,并且抛出了一个不同的错误,所以我们可以排除这个错误。 – mtrc 2012-03-25 16:40:55