使用Java读取WAV文件

4
我完全是Java的新手,能否有人告诉我在以下代码中应该放置wav文件名,我的文件名是“p.wav”,其位置是D:/p.wav;请帮忙,我收到了以下错误信息: -:

线程“main”中的异常

java.lang.Error:

无法解决的编译问题:

WavFile无法解析为类型

WavFile无法解决

import java.io.*;

public class ReadExample
{

   public static void main(String[] args)
{

  try
  {
     // Open the wav file specified as the first argument
     WavFile wavFile = WavFile.openWavFile(new File(args[0]));

     // Display information about the wav file
     wavFile.display();

     // Get the number of audio channels in the wav file
     int numChannels = wavFile.getNumChannels();

     // Create a buffer of 100 frames
     double[] buffer = new double[100 * numChannels];

     int framesRead;
     double min = Double.MAX_VALUE;
     double max = Double.MIN_VALUE;

     do
     {
        // Read frames into buffer
        framesRead = wavFile.readFrames(buffer, 100);

        // Loop through frames and look for minimum and maximum value
        for (int s=0 ; s<framesRead * numChannels ; s++)
        {
           if (buffer[s] > max) max = buffer[s];
           if (buffer[s] < min) min = buffer[s];
        }
     }
     while (framesRead != 0);

     // Close the wavFile
     wavFile.close();

     // Output the minimum and maximum value
     System.out.printf("Min: %f, Max: %f\n", min, max);
  }
  catch (Exception e)
  {
     System.err.println(e);
  }

} }


你有一个名为 WavFile 的对象吗?它属于哪个库? - Sionnach733
你需要导入包含WavFile的库来解决编译问题。当你从控制台运行程序时,文件名应该作为第一个参数放置。 - gawi
@gawi 我正在使用 Eclipse 运行我的代码,你能告诉我如何添加文件名吗? - user3262269
1个回答

5
你需要从这里下载Java文件,并将它们添加到与你的代码相同的包中。
然后更改此行:
WavFile wavFile = WavFile.openWavFile(new File(args[0]));

to:

WavFile wavFile = WavFile.openWavFile(new File("D:/p.wav"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接