Java 检索.wav文件的标题、艺术家/作者和持续时间
我试图使用以下代码获取Java项目中使用的Java 检索.wav文件的标题、艺术家/作者和持续时间,java,audioformat,audioinputstream,Java,Audioformat,Audioinputstream,我试图使用以下代码获取Java项目中使用的.wav文件的属性。但是,当我运行此代码时,方法format.getProperty(“title”)、format.getProperty(“author”)和format.getProperty(“duration”)都返回空值。我应该以不同的方式获取这些细节吗 AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(wavFile); AudioFormat forma
.wav
文件的属性。但是,当我运行此代码时,方法format.getProperty(“title”)
、format.getProperty(“author”)
和format.getProperty(“duration”)
都返回空值。我应该以不同的方式获取这些细节吗
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(wavFile);
AudioFormat format = audioInputStream.getFormat();
Object[] temp = {false,
format.getProperty("title"),
format.getProperty("author"),
format.getProperty("duration")};
WAV文件很难使用,尽管如此。根据使用的软件和编码器(16/32位PCM),您可以对文件进行不同的配置,读取此元数据时可能会遇到问题 我尝试了很多专注于音频元标记的工具和库(如、、等),大多数工具和库可以很好地用于MP3或其他音频格式,但不能用于WAV文件 显然,处理这件事最好的办法是。它简单、快速,您可以通过以下方式实现您的目标:
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
};
此外,请参阅以下链接:
我很确定.wav文件不包含标题或作者信息。