public class SpeexDecoder
extends java.lang.Object
Here's an example that decodes and recovers one Speex packet.
SpeexDecoder speexDecoder = new SpeexDecoder(); speexDecoder.processData(data, packetOffset, packetSize); byte[] decoded = new byte[speexDecoder.getProcessedBataByteSize()]; speexDecoder.getProcessedData(decoded, 0);
Modifier and Type | Field and Description |
---|---|
private Bits |
bits |
private int |
channels |
private float[] |
decodedData |
private Decoder |
decoder |
private int |
frameSize |
private short[] |
outputData |
private int |
outputSize |
private int |
sampleRate |
static java.lang.String |
VERSION
Version of the Speex Decoder
|
Constructor and Description |
---|
SpeexDecoder()
Constructor
|
Modifier and Type | Method and Description |
---|---|
int |
getChannels()
Returns the number of channels.
|
int |
getProcessedData(byte[] data,
int offset)
Pull the decoded data out into a byte array at the given offset
and returns the number of bytes processed and just read.
|
int |
getProcessedData(short[] data,
int offset)
Pull the decoded data out into a short array at the given offset
and returns tne number of shorts processed and just read
|
int |
getProcessedDataByteSize()
Returns the number of bytes processed and ready to be read.
|
int |
getSampleRate()
Returns the sample rate.
|
boolean |
init(int mode,
int sampleRate,
int channels,
boolean enhanced)
Initialise the Speex Decoder.
|
void |
processData(boolean lost)
This is where the actual decoding takes place.
|
void |
processData(byte[] data,
int offset,
int len)
This is where the actual decoding takes place
|
public static final java.lang.String VERSION
private int sampleRate
private int channels
private float[] decodedData
private short[] outputData
private int outputSize
private Bits bits
private Decoder decoder
private int frameSize
public boolean init(int mode, int sampleRate, int channels, boolean enhanced)
mode
- the mode of the decoder (0=NB, 1=WB, 2=UWB).sampleRate
- the number of samples per second.channels
- the number of audio channels (1=mono, 2=stereo, ...).enhanced
- whether to enable perceptual enhancement or not.public int getSampleRate()
public int getChannels()
public int getProcessedData(byte[] data, int offset)
data
- offset
- public int getProcessedData(short[] data, int offset)
data
- offset
- public int getProcessedDataByteSize()
public void processData(byte[] data, int offset, int len) throws java.io.StreamCorruptedException
data
- - the Speex data (frame) to decode.
If it is null, the packet is supposed lost.offset
- - the offset from which to start reading the data.len
- - the length of data to read (Speex frame size).java.io.StreamCorruptedException
- If the input stream is invalid.public void processData(boolean lost) throws java.io.StreamCorruptedException
lost
- - true if the Speex packet has been lost.java.io.StreamCorruptedException
- If the input stream is invalid.Copyright © 1999-2004 Wimba S.A. All Rights Reserved.