Class AudioFormat.Encoding

Enclosing class:
AudioFormat
public static class AudioFormat.Encoding
extends Object

The Encoding class names the specific type of data representation used for an audio stream. The encoding includes aspects of the sound format other than the number of channels, sample rate, sample size, frame rate, frame size, and byte order.

One ubiquitous type of audio encoding is pulse-code modulation (PCM), which is simply a linear (proportional) representation of the sound waveform. With PCM, the number stored in each sample is proportional to the instantaneous amplitude of the sound pressure at that point in time. The numbers may be signed or unsigned integers or floats. Besides PCM, other encodings include mu-law and a-law, which are nonlinear mappings of the sound amplitude that are often used for recording speech.

You can use a predefined encoding by referring to one of the static objects created by this class, such as PCM_SIGNED or PCM_UNSIGNED. Service providers can create new encodings, such as compressed audio formats, and make these available through the AudioSystem class.

The Encoding class is static, so that all AudioFormat objects that have the same encoding will refer to the same object (rather than different instances of the same class). This allows matches to be made by checking that two format's encodings are equal.

Since:
1.3
See Also:
AudioFormat, FormatConversionProvider

Fields

Modifier and Type Field Description
static AudioFormat.Encoding ALAW

Specifies a-law encoded data.

static AudioFormat.Encoding PCM_FLOAT

Specifies floating-point PCM data.

static AudioFormat.Encoding PCM_SIGNED

Specifies signed, linear PCM data.

static AudioFormat.Encoding PCM_UNSIGNED

Specifies unsigned, linear PCM data.

static AudioFormat.Encoding ULAW

Specifies u-law encoded data.

Constructors

Constructor Description
Encoding​(String name)

Constructs a new encoding.

Methods

Modifier and Type Method Description
boolean equals​(Object obj)

Indicates whether the specified object is equal to this encoding, returning true if the objects are equal.

int hashCode()

Returns a hash code value for this encoding.

String toString()

Provides the String representation of the encoding.

Methods declared in class java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Fields

PCM_SIGNED

public static final AudioFormat.Encoding PCM_SIGNED

Specifies signed, linear PCM data.

PCM_UNSIGNED

public static final AudioFormat.Encoding PCM_UNSIGNED

Specifies unsigned, linear PCM data.

PCM_FLOAT

public static final AudioFormat.Encoding PCM_FLOAT

Specifies floating-point PCM data.

Since:
1.7

ULAW

public static final AudioFormat.Encoding ULAW

Specifies u-law encoded data.

ALAW

public static final AudioFormat.Encoding ALAW

Specifies a-law encoded data.

Constructors

Encoding

public Encoding(String name)

Constructs a new encoding.

Parameters:
name - the name of the new type of encoding

Methods

equals

public final boolean equals(Object obj)

Indicates whether the specified object is equal to this encoding, returning true if the objects are equal.

Overrides:
equals in class Object
Parameters:
obj - the reference object with which to compare
Returns:
true if the specified object is equal to this encoding; false otherwise
See Also:
Object.hashCode(), HashMap

hashCode

public final int hashCode()

Returns a hash code value for this encoding.

Overrides:
hashCode in class Object
Returns:
a hash code value for this encoding
See Also:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public final String toString()

Provides the String representation of the encoding. This String is the same name that was passed to the constructor. For the predefined encodings, the name is similar to the encoding's variable (field) name. For example, PCM_SIGNED.toString() returns the name "PCM_SIGNED".

Overrides:
toString in class Object
Returns:
the encoding name

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/sound/sampled/AudioFormat.Encoding.html