java - 我需要一些帮助,用 java 读取 WAV 文件并确定其各种幅度

标签 java audio wave amplitude

本质上,我要问的问题是,当 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
}

关于java - 我需要一些帮助,用 java 读取 WAV 文件并确定其各种幅度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15978572/

相关文章:

java - JMH fork 、线程和调试

iphone - 麦克风输入到 iOS 设备上的扬声器输出?

android - 在android中启动时找不到audio-hal-2-0

audio-recording - 如何使用 Python 从 USB 音频设备获取 24 位样本?

wave - WAVE 工具中缺少表单标签

java - IMAP:java,如何确定文件夹已重命名或移动?

java - 如何将字符串解析为组?

c++ - 为什么我不能使用 IAudioEndpointVolume::SetMasterVolumeLevelScalar 为 USB/Firewire 音频接口(interface)设置主音量

python - 为什么 PyAudio 在一个模块中工作而不在另一个模块中工作?

java - 当 javafx 中发生操作时,如何更改分割 Pane 的一半,同时保持另一半不变