# Class WAVWriter

java.lang.Object
com.codename1.media.WAVWriter

All Implemented Interfaces:
  `AutoCloseable`

public class WAVWriter extends Object implements AutoCloseable
A class that can write raw PCM data to a WAV file.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `WAVWriter(File outputFile, int samplingRate, int channels, int numBits)`
  Creates a new writer for writing a WAV file.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Closes the writer, and writes the WAV file.
  `void`
  `write(float[] pcmData, int offset, int len)`
  Writes PCM data to the file.

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### WAVWriter

    public WAVWriter(File outputFile, int samplingRate, int channels, int numBits) throws IOException

    Creates a new writer for writing a WAV file.

    ###### Parameters

    - `outputFile`: The output file.

    - `samplingRate`: The sampling rate. E.g. 44100

    - `channels`: The number of channels. E.g. 1 or 2

    - `numBits`: 8 or 16

    ###### Throws

    - `IOException`
    Throws:
      `IOException`

- ## Method Details

  - ### write

    public void write(float[] pcmData, int offset, int len) throws IOException

    Writes PCM data to the file.

    ###### Parameters

    - `pcmData`: PCM data to write. These are float values between -1 and 1.

    - `offset`: Offset in pcmData array to start writing.

    - `len`: Length in pcmData array to write.

    ###### Throws

    - `IOException`
    Throws:
      `IOException`

  - ### close

    public void close() throws Exception

    Closes the writer, and writes the WAV file.

    ###### Throws

    - `Exception`
    Specified by:
      `close` in interface `AutoCloseable`
    Throws:
      `Exception`