Package com.google.android.exoplayer2.audio

## Class WavUtil

- java.lang.Object
- - com.google.android.exoplayer2.audio.WavUtil

-     public final class WavUtil
      extends Object

  Utilities for handling WAVE files.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `DATA_FOURCC` | Four character code for "data".
    `static int` | `DS64_FOURCC` | Four character code for "ds64".
    `static int` | `FMT_FOURCC` | Four character code for "fmt ".
    `static int` | `RF64_FOURCC` | Four character code for "RF64".
    `static int` | `RIFF_FOURCC` | Four character code for "RIFF".
    `static int` | `TYPE_ALAW` | WAVE type value for 8-bit ITU-T G.711 A-law audio data.
    `static int` | `TYPE_FLOAT` | WAVE type value for float PCM audio data.
    `static int` | `TYPE_IMA_ADPCM` | WAVE type value for IMA ADPCM audio data.
    `static int` | `TYPE_MLAW` | WAVE type value for 8-bit ITU-T G.711 mu-law audio data.
    `static int` | `TYPE_PCM` | WAVE type value for integer PCM audio data.
    `static int` | `TYPE_WAVE_FORMAT_EXTENSIBLE` | WAVE type value for extended WAVE format.
    `static int` | `WAVE_FOURCC` | Four character code for "WAVE".

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static @com.google.android.exoplayer2.C.PcmEncoding int` | `getPcmEncodingForType​(int type, int bitsPerSample)` | Returns the `C.PcmEncoding` for the given WAVE format type value, or `C.ENCODING_INVALID` if the type is not a known PCM type.
    `static int` | `getTypeForPcmEncoding​(@com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding)` | Returns the WAVE format type value for the given `C.PcmEncoding`.

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### RIFF_FOURCC

          public static final int RIFF_FOURCC

      Four character code for "RIFF".
      See Also:
        Constant Field Values

    - #### WAVE_FOURCC

          public static final int WAVE_FOURCC

      Four character code for "WAVE".
      See Also:
        Constant Field Values

    - #### FMT_FOURCC

          public static final int FMT_FOURCC

      Four character code for "fmt ".
      See Also:
        Constant Field Values

    - #### DATA_FOURCC

          public static final int DATA_FOURCC

      Four character code for "data".
      See Also:
        Constant Field Values

    - #### RF64_FOURCC

          public static final int RF64_FOURCC

      Four character code for "RF64".
      See Also:
        Constant Field Values

    - #### DS64_FOURCC

          public static final int DS64_FOURCC

      Four character code for "ds64".
      See Also:
        Constant Field Values

    - #### TYPE_PCM

          public static final int TYPE_PCM

      WAVE type value for integer PCM audio data.
      See Also:
        Constant Field Values

    - #### TYPE_FLOAT

          public static final int TYPE_FLOAT

      WAVE type value for float PCM audio data.
      See Also:
        Constant Field Values

    - #### TYPE_ALAW

          public static final int TYPE_ALAW

      WAVE type value for 8-bit ITU-T G.711 A-law audio data.
      See Also:
        Constant Field Values

    - #### TYPE_MLAW

          public static final int TYPE_MLAW

      WAVE type value for 8-bit ITU-T G.711 mu-law audio data.
      See Also:
        Constant Field Values

    - #### TYPE_IMA_ADPCM

          public static final int TYPE_IMA_ADPCM

      WAVE type value for IMA ADPCM audio data.
      See Also:
        Constant Field Values

    - #### TYPE_WAVE_FORMAT_EXTENSIBLE

          public static final int TYPE_WAVE_FORMAT_EXTENSIBLE

      WAVE type value for extended WAVE format.
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getTypeForPcmEncoding

          public static int getTypeForPcmEncoding​(@com.google.android.exoplayer2.C.PcmEncoding int pcmEncoding)

      Returns the WAVE format type value for the given `C.PcmEncoding`.
      Parameters:
        `pcmEncoding` - The `C.PcmEncoding` value.
      Returns:
        The corresponding WAVE format type.
      Throws:
        `IllegalArgumentException` - If `pcmEncoding` is not a `C.PcmEncoding`, or if it's `C.ENCODING_INVALID` or `Format.NO_VALUE`.

    - #### getPcmEncodingForType

          public static @com.google.android.exoplayer2.C.PcmEncoding int getPcmEncodingForType​(int type,
                                                                                               int bitsPerSample)

      Returns the `C.PcmEncoding` for the given WAVE format type value, or `C.ENCODING_INVALID` if the type is not a known PCM type.