scala - .wav 到 .mp3 文件的转换在带有 JAVE2 库的服务器上不起作用
问题描述
import java.io.File
import ws.schild.jave.{Encoder, MultimediaObject}
import ws.schild.jave.encode.AudioAttributes
import ws.schild.jave.encode.EncodingAttributes
object MP3ConversionUtil {
private val codec = "libmp3lame"
private val bitRate = 32000
private val samplingRate = 44100
private val channel = 2
val toMP3: (File => File) = (file) => {
val source = file
val targetMP3 = new File(s"${file.getAbsolutePath.replace(".", "")}.mp3")
val audio = new AudioAttributes
audio.setCodec(codec)
audio.setBitRate(bitRate)
audio.setSamplingRate(samplingRate)
audio.setChannels(channel)
val attrs = new EncodingAttributes
attrs.setAudioAttributes(audio)
attrs.setOutputFormat("mp3")
val instance = new Encoder()
instance.encode(new MultimediaObject(source), targetMP3, attrs, null)
targetMP3
}
}
上面的代码工作正常,可以完美地转换为 mp3。 在 linux(rehl-Linux x86_64) 服务器中,它不工作,抛出错误 ws.schild.jave.InputFormatException。
解决方案
推荐阅读
- java - 有没有办法在 morphia 中编写否定查询( ex nand , nor , not )
- elasticsearch - 如何使用 Painless 拒绝弹性搜索索引结果中的 json 数据类型列中的值?
- node.js - 使用 PDFKit 在 S3 中即时存储 PDF
- node.js - 为什么这个猫鼬代码没有控制台日志?
- asp.net-mvc - 传递给 Dictionary 的模型是一种类型,而 Dictionary 需要 ViewModels 类型的模型项
- javascript - 具有两个操作的侧栏菜单,在同一窗口或新窗口中打开
- azure-functions - 我们可以更新 Azure 函数的所有实例中的对象吗?
- matlab - 田口 OA 是否有 2 个水平的 4 个因子的 matlab 函数?
- excel - Excel VBA 检查和比较工作簿之间的日期
- sql - 使用另一个表中的数据更新一个表