使用coldfusion将{MP3}文件转换为FLAC

时间:2018-04-05 07:23:14

标签: java ffmpeg coldfusion coldfusion-2016

我想要实现的目标

我想在ColdFusion中使用泛型函数,通过它我可以将音频文件转换为不同的格式。

我尝试了什么

在引用this java code之后,我试图在ColdFusion中实现它。我已经包含了来自this link的.jar文件。

我尝试的代码包含在下面。

component { 
    remote void function foo() { 
        WriteOutput("Method foo() called<br>"); 
        // local.path = expandPath("../lib/jave-2.0.jar");
        local.javaObj = createObject( 'java', 'java.io.File');
        local.AudioAttributes = createObject("java", "it.sauronsoftware.jave.AudioAttributes");
        local.Encoder = createObject("java", "it.sauronsoftware.jave.Encoder");
        local.EncodingAttributes = createObject("java", "it.sauronsoftware.jave.EncodingAttributes");

        local.EncodingAttributes.setFormat('flac');
        // local.AudioAttributes.setCodec('libmp3lame');
        //local.EncodingAttributes.setAudioAttributes(audioAttr);
        local.mp3file = createObject("java", "java.io.File").init("Manavayanatim.mp3");
        local.flacFile = createObject("java", "java.io.File").init("Manavayanatim.flac");
        try{
            local.Encoder.encode(local.mp3file, local.flacFile, local.EncodingAttributes);
        }catch(Exception e){
            writeDump("Encoding Failed");
        }
    } 
}

编码器对象

enter image description here

我收到错误

enter image description here

搜索到错误后,发现位置ffmpeg-amd64.exe中缺少C:\Windows\System32个文件。所以我下载并添加了。但我仍然无法解决错误。

1 个答案:

答案 0 :(得分:1)

我认为this is the same project。用法文档说您还需要为您的环境下载本机jar。据我所知,该库从本机jar中加载并提取ffmpeg可执行文件(自动)。

  
      
  1. 您需要使用
  2. 作为您的Java界面的jave-2.0.jar文件   
  3. 此外,您需要一个与您的平台匹配的本机库。所以对于linux 64位,你也可以下载jave-2.0-linux64.jar。   此文件包含linux 64位的二进制可执行文件
  4.   

这也可以解释错误。 如果库只在本机jar中搜索,这就解释了为什么将它复制到C:\Windows\...没有帮助。