从本质上讲,我要问的问题是,当 wav 文件的数据由于是一个大文件而导致剪辑崩溃时,我如何查看它的数据,然后在歌曲播放时确定它的振幅。将程序中的这些振荡想象为像 winamp 一样可视化音乐。在这种情况下,我需要形成声波的数值。
我对采样率之类的东西进行了一些疯狂的研究,甚至设法找到了一些代码,但这对我完成这项任务没有帮助。
如果有人能提供粗略的大纲和一些代码,我将不胜感激。谢谢
此代码未经测试,但这大致是您应该做的:
File fileIn = new File("C:\\path\\to\\your\\file.wav");
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(fileIn);
int size = audioInputStream.available();
byte[] b = new byte[size];
if (size == audioInputStream.read(b)) {
// Do what you have to do
}