2016-09-26 34 views
0

我想將視頻轉換爲音頻。這就是爲什麼我使用下面的代碼:無法檢索本機文件ffmpeg-amd64.exe

File source = new File("E:\\Shunno - Khachar Bhitor Ochin Pakhi.mp4"); 
     File target = new File("E:\\output.mp3"); 
     AudioAttributes audio = new AudioAttributes(); 
    audio.setCodec("libmp3lame"); 
    audio.setBitRate(new Integer(128000)); 
    audio.setChannels(new Integer(2)); 
    audio.setSamplingRate(new Integer(44100)); 
    EncodingAttributes attrs = new EncodingAttributes(); 
    attrs.setFormat("mp3"); 
    attrs.setAudioAttributes(audio); 
    Encoder encoder = new Encoder(); 
    try 
    { 
     encoder.encode(source, target, attrs); 
    } 
    catch (IllegalArgumentException | EncoderException e) 
    { 
    } 

但我收到以下錯誤:

Sep 26, 2016 11:28:29 AM it.sauronsoftware.jave.DefaultFFMPEGLocator copyFile 
SEVERE: Could not get native library for ffmpeg-amd64.exe 
Exception in thread "main" java.lang.RuntimeException: Cannot retrieve native file ffmpeg-amd64.exe 
    at it.sauronsoftware.jave.DefaultFFMPEGLocator.copyFile(DefaultFFMPEGLocator.java:139) 
    at it.sauronsoftware.jave.DefaultFFMPEGLocator.<init>(DefaultFFMPEGLocator.java:80) 
    at it.sauronsoftware.jave.Encoder.<init>(Encoder.java:105) 
    at Convert.main(Convert.java:29) 

我該如何解決這個問題?請幫幫我 。

回答

0

錯誤非常明顯:找不到ffmpeg。

由於你硬編碼ffmpeg的一些窗口路徑here is the windows binary。我建議下載x64靜態版本。既然這只是你需要關心的一個文件。

如果您需要其他平臺,請檢查download site

在子目錄bin中的二進制文件ffmpeg.exe所在的zip文件內。現在,您需要將其重命名爲ffmpeg-amd64.exe,因爲圖書館預計該名稱。現在您需要將文件複製到路徑變量的目錄中,例如C:\windows\system32。我建議不要使用該目錄,但這是最簡單的方法。最好放在別的地方並修改你的路徑變量。有幾十個解釋,所以只要谷歌他們,如果你想如何做到這一點。