Java™ Platform
Standard Ed. 6

javax.sound.sampled
Class AudioFormat.Encoding

java.lang.Object
  extended by javax.sound.sampled.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 are frequently signed or unsigned integers. 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 or floating-point PCM samples, 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

Field Summary
static AudioFormat.Encoding ALAW
          Specifies a-law encoded 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.
 
Constructor Summary
AudioFormat.Encoding(String name)
          Constructs a new encoding.
 
Method Summary
 boolean equals(Object obj)
          Finalizes the equals method
 int hashCode()
          Finalizes the hashCode method
 String toString()
          Provides the String representation of the encoding.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

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.


ULAW

public static final AudioFormat.Encoding ULAW
Specifies u-law encoded data.


ALAW

public static final AudioFormat.Encoding ALAW
Specifies a-law encoded data.

Constructor Detail

AudioFormat.Encoding

public AudioFormat.Encoding(String name)
Constructs a new encoding.

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

equals

public final boolean equals(Object obj)
Finalizes the equals method

Overrides:
equals in class Object
Parameters:
obj - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.
See Also:
Object.hashCode(), Hashtable

hashCode

public final int hashCode()
Finalizes the hashCode method

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

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

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.