我根本不擅长Java,所以我真的可以使用你的帮助。我正在尝试从 mp3 文件中读取持续时间和比特率。我正在使用来自http://www.javazoom.net/mp3spi/documents.html的名为“mp3spi”的 java 库。
所以 var 我已经能够确定这些对象存在:
<cfset AudioFormat = createObject("java", "org.tritonus.share.sampled.TAudioFormat")>
<cfset AudioFileFormat = createObject("java", "org.tritonus.share.sampled.file.TAudioFileFormat")>
<cfset AudioFileReader = createObject("java", "javax.sound.sampled.spi.AudioFileReader")>
我在使用以下代码并将其转换为 ColdFusion 时遇到问题:
File file = new File("filename.mp3");
AudioFileFormat baseFileFormat = new MpegAudioFileReader().getAudioFileFormat(file);
Map properties = baseFileFormat.properties();
Long duration = (Long) properties.get("duration");
我尝试了几种设置上述变量的方法,但我不断收到一个错误,即 MpegAudioFileReader 或 getAudioFileFormat 不存在。但是,当我转储用于创建 Java 对象的变量时,它们确实存在。
这是我所拥有的:
<cfscript>
mp3file = FileOpen(ExpandPath("./") & originalfile, "readBinary");
baseFileFormat = AudioFileReader.getAudioFileFormat(mp3file);
properties = baseFileFormat.properties();
duration = properties.get("duration");
</cfscript>