【问题标题】:Java detecting an audio file (mp3)Java 检测音频文件 (mp3)
【发布时间】:2012-10-23 23:06:32
【问题描述】:

我有这段代码可以读取一个 mp3 文件

import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.UnsupportedAudioFileException;

    public class Sound {
        public static void main(String[] args) {
            File sampleFile = new File("test.mp3");
            try {
                AudioSystem.getAudioFileFormat(sampleFile);
            } catch (UnsupportedAudioFileException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

这里的问题是它返回文件不支持的异常,这里的文件是一个mp3文件。 Java 不支持 mp3 文件?如果是这样,还有什么其他人可以验证音频文件?(如 ogg、wav)

【问题讨论】:

标签: java audio mp3 javasound ogg


【解决方案1】:

您可以查看Apache Tika 库。它可以通过文件的内容检测文件的类型并提取文件元数据。它supports mp3 格式。

这是使用 Apache Tika 进行文件类型检测的example

【讨论】:

  • 除了mp3之外还支持其他音频类型吗?
  • 我似乎看不到 Apache Tika 库的代码示例,如何检测文件类型?
  • 好的,它工作得很好,但是 Apache Tika 如何检测文件类型?是通过文件扩展名还是对文件进行解码?因为我将从文件服务器上传文件,我想要一个可流式传输的文件(音频剪辑
  • @kyelJmD Apache Tika 通过内容而不是扩展名来检测文件格式。
【解决方案2】:

您需要添加MP3SPI库,以便java音频api可以识别和解码mp3文件。

【讨论】:

  • 是否也支持其他音频媒体类型?
  • @KyelJmD:名称中的 MP3 表示不,它仅用于 mp3。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多