[尝试构建一个小应用程序,以根据音频文件的某些属性对其进行分类。是否已设法使用Minim来获取采样率和位深度,但找不到任何东西来获取位率?
很乐意在需要时将程序带到Javascript,但很想找到一种检测给定文件比特率的方法。
编辑:尝试根据文件大小尝试建立方程式,但也找不到用于检测MP3文件大小的方法。
您可以使用jaudiotagger
您需要下载该jar,我设法从maven central中获得了它>
转到草图->添加文件...,然后选择下载的jar,应将其添加到草图文件夹中名为code
的文件夹中。假设您已经在名为audio.mp3
的数据文件夹中放置了一个mp3文件,以下代码应该可以工作,并在终端中打印出比特率。与getMP3AudioHeader交换。import org.jaudiotagger.audio.mp3.*; import org.jaudiotagger.audio.AudioFileIO; void setup() { File f = new File(dataPath("audio.mp3")); try { MP3File mp3 = (MP3File) AudioFileIO.read(f); MP3AudioHeader audioHeader = mp3.getMP3AudioHeader(); println("" + audioHeader.getBitRate()); } catch(Exception e) { e.printStackTrace(); } }
JAudiotagger支持多种文件格式,您可以为每种格式使用相关的类和方法。
我建议您看一下javadoc。但是请注意示例,为了回答您的问题,the one I used似乎有问题,因为您可以看到我不得不将getAudioHeader