Ejemplo n.º 1
0
  public static void main(String[] args) {
    if (args.length < 1) {
      System.err.println("Must supply filename");
      System.exit(1);
    }

    try {
      for (final String filename : args) {
        final WavFile readWavFile = openWavFile(new File(filename));
        readWavFile.display();

        final long numFrames = readWavFile.getNumFrames();
        final int numChannels = readWavFile.getNumChannels();
        final int validBits = readWavFile.getValidBits();
        final long sampleRate = readWavFile.getSampleRate();

        final WavFile writeWavFile =
            newWavFile(new File("out.wav"), numChannels, numFrames, validBits, sampleRate);

        final int BUF_SIZE = 5001;

        //				int[] buffer = new int[BUF_SIZE * numChannels];
        //				long[] buffer = new long[BUF_SIZE * numChannels];
        final double[] buffer = new double[BUF_SIZE * numChannels];

        int framesRead = 0;
        int framesWritten = 0;

        do {
          framesRead = readWavFile.readFrames(buffer, BUF_SIZE);
          framesWritten = writeWavFile.writeFrames(buffer, BUF_SIZE);
          System.out.printf("%d %d\n", framesRead, framesWritten);
        } while (framesRead != 0);

        readWavFile.close();
        writeWavFile.close();
      }

      final WavFile writeWavFile = newWavFile(new File("out2.wav"), 1, 10, 23, 44100);
      final double[] buffer = new double[10];
      writeWavFile.writeFrames(buffer, 10);
      writeWavFile.close();
    } catch (final Exception e) {
      System.err.println(e);
      e.printStackTrace();
    }
  }