package com.reactlibrary;
import java.io.*;
import android.util.Log;

public class Buffer2WaveFile
{
   public void saveBuffer(String outputFile, String data)
   {
      Log.i("saveBuffer", "start");
      try {
         int sampleRate = 8012;    // Samples per second
         double duration = 10.0;     // Seconds
         // Calculate the number of frames required for specified duration
         int numFrames = (int)(sampleRate * duration);

         // Create a wav file with the name specified as the first argument
         WavFile2 wavFile2 = WavFile2.newWavFile2(new File(outputFile), 1, numFrames, 16, sampleRate);
         //Log.i("saveBuffer", "19");

         // Initialise a local frame counter
         long frameCounter = 0;

         String[] dataString = data.split(",");
         int[] dataInt = new int[numFrames];

         // Loop until all frames written
         int offset = 0;
         for (int i = 0; i < dataString.length; i++) {
            //Log.i("saveBuffer", dataString[i]);
            dataInt[i] = Integer.parseInt(dataString[i]);
         }

         wavFile2.writeFrames(dataInt, dataInt.length);
         //Log.i("saveBuffer", "34");


         // Close the wavFile2
         wavFile2.close();
      } catch (Exception e) {
         //Log.i("saveBuffer", e.toString());
         System.err.println(e);
      }
   }
}