這是這個問題的分叉問題: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