我正在尝试在Scala中连接mp3,尽管我实际上主要使用的是Java库。到目前为止,我已将必要的东西放在我的CLASSPATH上(请参阅此处:http://www.javazoom.net/mp3spi/documents.html以获取有关如何读取mp3的详细信息) 并写下以下内容:
import java.io._;
import java.io.IOException;
import java.io.SequenceInputStream;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
object Main {
def main(args: Array[String]) {
val fileA = "Track 0000.mp3"
val fileB = "Track 0001.mp3"
try {
var ClipA = AudioSystem.getAudioInputStream(new File(fileA))
var ClipB = AudioSystem.getAudioInputStream(new File(fileB))
var appendedFiles = new AudioInputStream(
new SequenceInputStream(ClipA, ClipB),
ClipA.getFormat(),
ClipA.getFrameLength() + ClipB.getFrameLength());
} catch {
case ioe: IOException => println(ioe.getMessage())
case e: Exception => println(e.getMessage())
}
}
}
但我现在正在努力将mp3写入磁盘。谁能帮我吗?这是怎么做到的?
答案 0 :(得分:0)
AudioSystem
类有一个辅助方法来执行此操作,AudioSystem.write
:
public static int write(AudioInputStream stream, AudioFileFormat.Type fileType,
File out) throws IOException
您应该可以执行以下操作:
AudioSystem.write(appendedFiles, mp3AudioType, new File("/tmp/out.mp3"))
将mp3AudioType
作为mp3的正确AudioFileFormat.Type
;也许只有AudioFileFormat.Type("MP3", "mp3")
才有效。