4

我正在尝试在 Scala 中连接 mp3,尽管我实际上主要使用 Java 库。到目前为止,我已经将必要的东西放在了我的 CLASSPATH 上(有关如何阅读 mp3 的详细信息,请参见此处: http ://www.javazoom.net/mp3spi/documents.html)并编写了以下内容:

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 写入磁盘。谁能帮我吗?这是怎么做到的?

4

1 回答 1

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"))

拥有mp3mp3AudioType的权利AudioFileFormat.Type;也许只是AudioFileFormat.Type("MP3", "mp3")会工作。

于 2013-06-01T18:23:30.577 回答