javax.media.format
Class AudioFormat

java.lang.Object
  |
  +--javax.media.Format
        |
        +--javax.media.format.AudioFormat
All Implemented Interfaces:
java.lang.Cloneable, java.io.Serializable

public class AudioFormat
extends Format

Encapsulates format information for audio data. The attributes of an AudioFormat include the sample rate, bits per sample, and number of channels.

Since:
JMF 2.0
See Also:
Serialized Form

Field Summary
static java.lang.String ALAW
           
static int BIG_ENDIAN
           
protected  int channels
           
static java.lang.String DOLBYAC3
           
static java.lang.String DVI
           
static java.lang.String DVI_RTP
           
protected  int endian
           
protected  double frameRate
           
protected  int frameSizeInBits
           
static java.lang.String G723
           
static java.lang.String G723_RTP
           
static java.lang.String G728
           
static java.lang.String G728_RTP
           
static java.lang.String G729
           
static java.lang.String G729_RTP
           
static java.lang.String G729A
           
static java.lang.String G729A_RTP
           
static java.lang.String GSM
           
static java.lang.String GSM_MS
           
static java.lang.String GSM_RTP
           
static java.lang.String IMA4
           
static java.lang.String IMA4_MS
           
(package private)  boolean init
           
static java.lang.String LINEAR
           
static int LITTLE_ENDIAN
           
static java.lang.String MAC3
           
static java.lang.String MAC6
           
(package private)  int margin
           
static java.lang.String MPEG
           
static java.lang.String MPEG_RTP
           
static java.lang.String MPEGLAYER3
           
static java.lang.String MSADPCM
           
static java.lang.String MSNAUDIO
           
static java.lang.String MSRT24
           
(package private)  double multiplier
          For computing the duration of the sample.
protected  double sampleRate
           
protected  int sampleSizeInBits
           
protected  int signed
           
static int SIGNED
           
static java.lang.String TRUESPEECH
           
static java.lang.String ULAW
           
static java.lang.String ULAW_RTP
           
static int UNSIGNED
           
static java.lang.String VOXWAREAC10
           
static java.lang.String VOXWAREAC16
           
static java.lang.String VOXWAREAC20
           
static java.lang.String VOXWAREAC8
           
static java.lang.String VOXWAREMETASOUND
           
static java.lang.String VOXWAREMETAVOICE
           
static java.lang.String VOXWARERT29H
           
static java.lang.String VOXWARETQ40
           
static java.lang.String VOXWARETQ60
           
static java.lang.String VOXWAREVR12
           
static java.lang.String VOXWAREVR18
           
 
Fields inherited from class javax.media.Format
byteArray, clz, dataType, encoding, FALSE, formatArray, intArray, NOT_SPECIFIED, shortArray, TRUE
 
Constructor Summary
AudioFormat(java.lang.String encoding)
          Constructs an AudioFormat with the specified encoding type.
AudioFormat(java.lang.String encoding, double sampleRate, int sampleSizeInBits, int channels)
          Constructs an AudioFormat with the specified attributes.
AudioFormat(java.lang.String encoding, double sampleRate, int sampleSizeInBits, int channels, int endian, int signed)
          Constructs an AudioFormat with the specified attributes.
AudioFormat(java.lang.String encoding, double sampleRate, int sampleSizeInBits, int channels, int endian, int signed, int frameSizeInBits, double frameRate, java.lang.Class dataType)
          Constructs an AudioFormat with the specified attributes.
 
Method Summary
 java.lang.Object clone()
          Creates a clone of this AudioFormat by copying each field to the clone.
 long computeDuration(long length)
          Returns the duration of the media based on the given length of the data.
protected  void copy(Format f)
          Copies the attributes from the specified Format into this AudioFormat.
 boolean equals(java.lang.Object format)
          Compares the specified Format with this AudioFormat.
 int getChannels()
          Gets the number of channels.
 int getEndian()
          Gets an integer that indicates whether the sample byte order is big endian or little endian.
 double getFrameRate()
          Gets the frame rate of this AudioFormat.
 int getFrameSizeInBits()
          Gets the frame size of this AudioFormat.
 double getSampleRate()
          Gets the audio sample rate.
 int getSampleSizeInBits()
          Gets the size of a sample.
 int getSigned()
          Gets a boolean that indicates whether the samples are stored in signed format or an unsigned format.
 Format intersects(Format format)
          Finds the attributes shared by two matching Format objects.
 boolean matches(Format format)
          Checks whether or not the specified Format matches this AudioFormat.
 java.lang.String toString()
          Gets a String representation of the attributes of this AudioFormat.
 
Methods inherited from class javax.media.Format
getDataType, getEncoding, isSameEncoding, isSameEncoding, relax
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

BIG_ENDIAN

public static final int BIG_ENDIAN
See Also:
Constant Field Values

LITTLE_ENDIAN

public static final int LITTLE_ENDIAN
See Also:
Constant Field Values

SIGNED

public static final int SIGNED
See Also:
Constant Field Values

UNSIGNED

public static final int UNSIGNED
See Also:
Constant Field Values

sampleRate

protected double sampleRate

sampleSizeInBits

protected int sampleSizeInBits

channels

protected int channels

endian

protected int endian

signed

protected int signed

frameRate

protected double frameRate

frameSizeInBits

protected int frameSizeInBits

LINEAR

public static final java.lang.String LINEAR
See Also:
Constant Field Values

ULAW

public static final java.lang.String ULAW
See Also:
Constant Field Values

ULAW_RTP

public static final java.lang.String ULAW_RTP
See Also:
Constant Field Values

ALAW

public static final java.lang.String ALAW
See Also:
Constant Field Values

IMA4

public static final java.lang.String IMA4
See Also:
Constant Field Values

IMA4_MS

public static final java.lang.String IMA4_MS
See Also:
Constant Field Values

MSADPCM

public static final java.lang.String MSADPCM
See Also:
Constant Field Values

DVI

public static final java.lang.String DVI
See Also:
Constant Field Values

DVI_RTP

public static final java.lang.String DVI_RTP
See Also:
Constant Field Values

G723

public static final java.lang.String G723
See Also:
Constant Field Values

G723_RTP

public static final java.lang.String G723_RTP
See Also:
Constant Field Values

G728

public static final java.lang.String G728
See Also:
Constant Field Values

G728_RTP

public static final java.lang.String G728_RTP
See Also:
Constant Field Values

G729

public static final java.lang.String G729
See Also:
Constant Field Values

G729_RTP

public static final java.lang.String G729_RTP
See Also:
Constant Field Values

G729A

public static final java.lang.String G729A
See Also:
Constant Field Values

G729A_RTP

public static final java.lang.String G729A_RTP
See Also:
Constant Field Values

GSM

public static final java.lang.String GSM
See Also:
Constant Field Values

GSM_MS

public static final java.lang.String GSM_MS
See Also:
Constant Field Values

GSM_RTP

public static final java.lang.String GSM_RTP
See Also:
Constant Field Values

MAC3

public static final java.lang.String MAC3
See Also:
Constant Field Values

MAC6

public static final java.lang.String MAC6
See Also:
Constant Field Values

TRUESPEECH

public static final java.lang.String TRUESPEECH
See Also:
Constant Field Values

MSNAUDIO

public static final java.lang.String MSNAUDIO
See Also:
Constant Field Values

MPEGLAYER3

public static final java.lang.String MPEGLAYER3
See Also:
Constant Field Values

VOXWAREAC8

public static final java.lang.String VOXWAREAC8
See Also:
Constant Field Values

VOXWAREAC10

public static final java.lang.String VOXWAREAC10
See Also:
Constant Field Values

VOXWAREAC16

public static final java.lang.String VOXWAREAC16
See Also:
Constant Field Values

VOXWAREAC20

public static final java.lang.String VOXWAREAC20
See Also:
Constant Field Values

VOXWAREMETAVOICE

public static final java.lang.String VOXWAREMETAVOICE
See Also:
Constant Field Values

VOXWAREMETASOUND

public static final java.lang.String VOXWAREMETASOUND
See Also:
Constant Field Values

VOXWARERT29H

public static final java.lang.String VOXWARERT29H
See Also:
Constant Field Values

VOXWAREVR12

public static final java.lang.String VOXWAREVR12
See Also:
Constant Field Values

VOXWAREVR18

public static final java.lang.String VOXWAREVR18
See Also:
Constant Field Values

VOXWARETQ40

public static final java.lang.String VOXWARETQ40
See Also:
Constant Field Values

VOXWARETQ60

public static final java.lang.String VOXWARETQ60
See Also:
Constant Field Values

MSRT24

public static final java.lang.String MSRT24
See Also:
Constant Field Values

MPEG

public static final java.lang.String MPEG
See Also:
Constant Field Values

MPEG_RTP

public static final java.lang.String MPEG_RTP
See Also:
Constant Field Values

DOLBYAC3

public static final java.lang.String DOLBYAC3
See Also:
Constant Field Values

multiplier

double multiplier
For computing the duration of the sample.


margin

int margin

init

boolean init
Constructor Detail

AudioFormat

public AudioFormat(java.lang.String encoding)
Constructs an AudioFormat with the specified encoding type.

Parameters:
encoding - The audio encoding type.

AudioFormat

public AudioFormat(java.lang.String encoding,
                   double sampleRate,
                   int sampleSizeInBits,
                   int channels)
Constructs an AudioFormat with the specified attributes.

Parameters:
encoding - A String that describes the encoding type for this AudioFormat.
sampleRate - The sample rate.
sampleSizeInBits - The sample size in bits.
channels - The number of channels as an integer. For example, 1 for mono, 2 for stereo.

AudioFormat

public AudioFormat(java.lang.String encoding,
                   double sampleRate,
                   int sampleSizeInBits,
                   int channels,
                   int endian,
                   int signed)
Constructs an AudioFormat with the specified attributes.

Parameters:
encoding - A String that describes the encoding type for this AudioFormat.
sampleRate - The sample rate.
sampleSizeInBits - The sample size in bits.
channels - The number of channels.
endian - The sample byte ordering used for this AudioFormat--BIG_ENDIAN or LITTLE_ENDIAN.
signed - Indicates whether the samples are stored in a signed or unsigned format. Specify true if the AudioFormat is signed, false if the AudioFormat is unsigned.

AudioFormat

public AudioFormat(java.lang.String encoding,
                   double sampleRate,
                   int sampleSizeInBits,
                   int channels,
                   int endian,
                   int signed,
                   int frameSizeInBits,
                   double frameRate,
                   java.lang.Class dataType)
Constructs an AudioFormat with the specified attributes.

Parameters:
encoding - A String that describes the encoding type for this AudioFormat.
sampleRate - The sample rate.
sampleSizeInBits - The sample size.
channels - The number of channels.
endian - The sample byte ordering used for this AudioFormat--BIG_ENDIAN or LITTLE_ENDIAN.
signed - Indicates whether the samples are stored in a signed or unsigned format. Specify true if the AudioFormat is signed, false if the AudioFormat is unsigned.
frameSizeInBits - The frame size.
frameRate - The frame rate.
dataType - The type of the data. For example, byte array.
Method Detail

getSampleRate

public double getSampleRate()
Gets the audio sample rate.

Returns:
The sample rate.

getSampleSizeInBits

public int getSampleSizeInBits()
Gets the size of a sample.

Returns:
The sample size in bits.

getChannels

public int getChannels()
Gets the number of channels.

Returns:
The number of channels as an integer.

getEndian

public int getEndian()
Gets an integer that indicates whether the sample byte order is big endian or little endian.

Returns:
The sample byte order of this AudioFormat, BIG_ENDIAN or LITTLE_ENDIAN.

getSigned

public int getSigned()
Gets a boolean that indicates whether the samples are stored in signed format or an unsigned format.

Returns:
SIGNED if this VideoFormat is signed, UNSIGNED if it is not.

getFrameSizeInBits

public int getFrameSizeInBits()
Gets the frame size of this AudioFormat. This method is used primarily for compressed audio.

Returns:
The frame size of this AudioFormat in bits.

getFrameRate

public double getFrameRate()
Gets the frame rate of this AudioFormat.

Returns:
The frame rate.

computeDuration

public long computeDuration(long length)
Returns the duration of the media based on the given length of the data.

Parameters:
length - length of the data in this format.
Returns:
the duration in nanoseconds computed from the length of the data in this format. Returns -1 if the duration cannot be computed.

toString

public java.lang.String toString()
Gets a String representation of the attributes of this AudioFormat. For example: "PCM, 44.1 KHz, Stereo, Signed".

Overrides:
toString in class Format
Returns:
A String that describes the AudioFormat attributes.

equals

public boolean equals(java.lang.Object format)
Compares the specified Format with this AudioFormat. Returns true only if the specified Format is an AudioFormat and all of its attributes are identical to this AudioFormat.

Overrides:
equals in class Format
Parameters:
format - The Format to compare with this one.
Returns:
true if the specified Format is the same, false if it is not.

matches

public boolean matches(Format format)
Checks whether or not the specified Format matches this AudioFormat. Matches only compares the attributes that are defined in the specified Format, unspecified attributes are ignored.

The two Format objects do not have to be of the same class to match. For example, if "A" are "B" are being compared, a match is possible if "A" is derived from "B" or "B" is derived from "A". (The compared attributes must still match, or matches fails.)

Overrides:
matches in class Format
Parameters:
format - The Format to compare with this one.
Returns:
true if the specified Format matches this one, false if it does not.

intersects

public Format intersects(Format format)
Finds the attributes shared by two matching Format objects. If the specified Format does not match this one, the result is undefined.

Overrides:
intersects in class Format
Parameters:
format - The Format object to intersect with this Format.
Returns:
A Format object with its attributes set to those attributes common to both Format objects.
See Also:
matches(javax.media.Format)

clone

public java.lang.Object clone()
Creates a clone of this AudioFormat by copying each field to the clone.

Overrides:
clone in class Format
Returns:
A clone of this AudioFormat.

copy

protected void copy(Format f)
Copies the attributes from the specified Format into this AudioFormat.

Overrides:
copy in class Format
Parameters:
f - The Format to copy the attributes from.