Java 使用coldfusion将MP3文件转换为FLAC
我正在努力实现的目标 我想要一个ColdFusion中的通用函数,通过它我可以将音频文件转换为不同的格式 我尝试过的 在引用之后,我试图在ColdFusion中实现这一点。我已经包含了来自的.jar文件 下面是我尝试过的代码Java 使用coldfusion将MP3文件转换为FLAC,java,ffmpeg,coldfusion,coldfusion-2016,Java,Ffmpeg,Coldfusion,Coldfusion 2016,我正在努力实现的目标 我想要一个ColdFusion中的通用函数,通过它我可以将音频文件转换为不同的格式 我尝试过的 在引用之后,我试图在ColdFusion中实现这一点。我已经包含了来自的.jar文件 下面是我尝试过的代码 component { remote void function foo() { WriteOutput("Method foo() called<br>"); // local.path = expandPath(
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");
}
}
}
组件{
远程void函数foo(){
WriteOutput(“方法foo()调用
”;
//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”);
试一试{
local.Encoder.encode(local.mp3文件、local.flacFile、local.EncodingAttributes);
}捕获(例外e){
writeDump(“编码失败”);
}
}
}
编码器对象
我收到的错误
搜索错误后,发现ffmpeg-amd64.exe文件在C:\Windows\System32
位置丢失。所以我下载并添加了这个。但我仍然无法解决这个错误。我想。使用文档说,您还需要为您的环境下载本机jar。据我所知,该库(自动)从本机jar加载并提取ffmpeg可执行文件
您需要jave-2.0.jar
文件,它是您要使用的java接口
此外,您还需要一个与您的平台相匹配的本机库。因此,对于64位linux,您还可以下载jave-2.0-linux64.jar
。
此文件包含linux 64位二进制可执行文件
这也可以解释错误。如果库只在本机jar中搜索,这就解释了为什么将它复制到C:\Windows\…
没有帮助 看看这个,这需要做,但我不知道如何在CF.@RRK中做到这一点-我想这是针对版本1的。它不能在CF中完成。您必须在java中完成。看起来live版本2通过将exe绑定到一个额外的jar中来消除这个问题。