Package javaforce.codec.speex
Class PcmWaveWriter
java.lang.Object
javaforce.codec.speex.AudioFileWriter
javaforce.codec.speex.PcmWaveWriter
Writes basic PCM wave files from binary audio data.
Here's an example that writes 2 seconds of silence
PcmWaveWriter s_wsw = new PcmWaveWriter(2, 44100);
byte[] silence = new byte[16*2*44100];
wsw.Open("C:\\out.wav");
wsw.WriteHeader();
wsw.WriteData(silence, 0, silence.length);
wsw.WriteData(silence, 0, silence.length);
wsw.Close();
- Version:
- $Revision$
- Author:
- Jim Lawrence, helloNetwork.com, Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int[][][]Table describing the number of bit per Speex frame, depending on its mode-1 (1=NB, 2=WB, 3=UWB), channels-1 (1=mono, 2=stereo) and the quality setting (0 to 10).static final shortWave type code of PCMstatic final shortWave type code of Speexstatic final int[][][]Table describing the number of frames per packet in a Speex Wave file, depending on its mode-1 (1=NB, 2=WB, 3=UWB), channels-1 (1=mono, 2=stereo) and the quality setting (0 to 10). -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.PcmWaveWriter(int sampleRate, int channels) Constructor.PcmWaveWriter(int mode, int quality, int sampleRate, int channels, int nframes, boolean vbr) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the output file.voidOpen the output file.voidOpen the output file.voidwriteHeader(String comment) Writes the initial data chunks that start the wave file.voidwritePacket(byte[] data, int offset, int len) Writes a packet of audio.Methods inherited from class javaforce.codec.speex.AudioFileWriter
buildOggPageHeader, buildSpeexComment, buildSpeexHeader, writeInt, writeInt, writeInt, writeLong, writeLong, writeOggPageHeader, writeShort, writeShort, writeShort, writeSpeexComment, writeSpeexHeader, writeString
-
Field Details
-
WAVE_FORMAT_PCM
public static final short WAVE_FORMAT_PCMWave type code of PCM- See Also:
-
WAVE_FORMAT_SPEEX
public static final short WAVE_FORMAT_SPEEXWave type code of Speex- See Also:
-
WAVE_FRAME_SIZES
public static final int[][][] WAVE_FRAME_SIZESTable describing the number of frames per packet in a Speex Wave file, depending on its mode-1 (1=NB, 2=WB, 3=UWB), channels-1 (1=mono, 2=stereo) and the quality setting (0 to 10). See end of file for exerpt from SpeexACM code for more explanations. -
WAVE_BITS_PER_FRAME
public static final int[][][] WAVE_BITS_PER_FRAMETable describing the number of bit per Speex frame, depending on its mode-1 (1=NB, 2=WB, 3=UWB), channels-1 (1=mono, 2=stereo) and the quality setting (0 to 10). See end of file for exerpt from SpeexACM code for more explanations.
-
-
Constructor Details
-
PcmWaveWriter
public PcmWaveWriter()Constructor. -
PcmWaveWriter
public PcmWaveWriter(int sampleRate, int channels) Constructor.- Parameters:
sampleRate- the number of samples per second.channels- the number of audio channels (1=mono, 2=stereo, ...).
-
PcmWaveWriter
public PcmWaveWriter(int mode, int quality, int sampleRate, int channels, int nframes, boolean vbr) Constructor.- Parameters:
mode- the mode of the encoder (0=NB, 1=WB, 2=UWB).quality-sampleRate- the number of samples per second.channels- the number of audio channels (1=mono, 2=stereo, ...).nframes- the number of frames per speex packet.vbr-
-
-
Method Details
-
close
Closes the output file. MUST be called to have a correct stream.- Specified by:
closein classAudioFileWriter- Throws:
IOException- if there was an exception closing the Audio Writer.
-
open
Open the output file.- Specified by:
openin classAudioFileWriter- Parameters:
file- - file to open.- Throws:
IOException- if there was an exception opening the Audio Writer.
-
open
Open the output file.- Specified by:
openin classAudioFileWriter- Parameters:
filename- filename to open.- Throws:
IOException- if there was an exception opening the Audio Writer.
-
writeHeader
Writes the initial data chunks that start the wave file. Prepares file for data samples to written.- Specified by:
writeHeaderin classAudioFileWriter- Parameters:
comment- ignored by the WAV header.- Throws:
IOException
-
writePacket
Writes a packet of audio.- Specified by:
writePacketin classAudioFileWriter- Parameters:
data- audio dataoffset- the offset from which to start reading the data.len- the length of data to read.- Throws:
IOException
-