gpt4 book ai didi

java - 检索 .wav 文件的标题、艺术家/作者和持续时间

转载 作者:搜寻专家 更新时间:2023-11-01 03:33:24 24 4
gpt4 key购买 nike

我正在尝试使用以下代码获取我在 Java 项目中使用的 .wav 文件的属性。但是,当我运行此代码时,方法 format.getProperty("title")format.getProperty("author")format.getProperty("duration ") 全部返回null。我应该以不同的方式获取这些详细信息吗?

AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(wavFile);
AudioFormat format = audioInputStream.getFormat();
Object[] temp = {false,
format.getProperty("title"),
format.getProperty("author"),
format.getProperty("duration")};

最佳答案

WAV 文件很难处理,即使 they can hold several metadata types .根据使用的软件和编码器(16/32 位 PCM),您可以对文件和 Java Sound API 进行不同的配置。读取此元数据会遇到问题。

我尝试了很多专注于音频元标记的工具和库(例如 Apache Tikajd3libmp3agicBeaglebuddy 等),其中大部分都可以很好地处理 MP3 或其他音频格式,但不适用于 WAV 文件。

显然,处理这个问题的更好方法是 Jaudiotagger .它简单、快速,您可以通过以下方式实现您的目标:

AudioFile f = AudioFileIO.read(wavFile);
WavTag tag = (WavTag) f.getTag();

Object[] temp = {false,
tag.getFirst(FieldKey.TITLE),
tag.getFirst(FieldKey.ARTIST),
f.getAudioHeader().getTrackLength() // In seconds
};

另外,请引用以下链接:

Note: The support for this feature was added from version 2.2.4 above. So, always prefer the latest version to evict compatibility problems.

关于java - 检索 .wav 文件的标题、艺术家/作者和持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40657308/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com