【问题标题】:Compare volume levels between to mp3/wav files比较与 mp3/wav 文件之间的音量级别
【发布时间】:2013-08-22 22:22:38
【问题描述】:

我有两段录音要录制并保存为 mp3 格式。 mp3 的内容很短,只有几秒钟,将是相同的音频,但以 2 个不同的音量级别录制。我想使用java,或者最好是jsp,这样我就可以在服务器上运行它,告诉我这两个文件之间是否存在体积差异。如果有人有任何建议,我将不胜感激!

谢谢。

【问题讨论】:

  • 你最终解决了这个问题吗?我有同样的问题。我有两个文件,我想比较那里的卷

标签: java jsp audio mp3 wav


【解决方案1】:

看看Java Sound API http://www.jsresources.org/faq_audio.html#compare_files


 Port lineIn;
        FloatControl volCtrl;
        try {
          mixer = AudioSystem.getMixer(null);
          lineIn = (Port)mixer.getLine(Port.Info.LINE_IN);
          lineIn.open();
          volCtrl = (FloatControl) lineIn.getControl(

              FloatControl.Type.VOLUME);
// Assuming getControl call succeeds, 
  // we now have a way to detect volume calls
} catch (Exception e) {
  System.out.println("Failed trying to find LINE_IN"
    + " VOLUME control: exception = " + e);
}

【讨论】:

  • 我假设 lineIn 是输入文件?如何打开要在这种情况下使用的 mp3?
  • FloatControl.Type.VOLUME 更像是立体声音响上的音量控制。它会影响整体音量,但不会告诉我们声音信号的瞬时音量 (dB, RMS)。
  • 但是使用FloatControl.Type.VOLUME,我可以用它来比较另一个音频源吗?
  • 是的,但是如果您打算将两个音频源同步到相同的水平,一旦您确定了理想的 dB 和 RMS,volCntrl 就会派上用场
  • 我可以只比较两个 FloatControl 对象吗? FloatControlOne > FloatControlTwo?在这种情况下如何将 wav 文件指定为输入?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-11
  • 1970-01-01
  • 1970-01-01
  • 2014-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多