org.xiph.speex
Class AudioFileWriter

java.lang.Object
  extended by org.xiph.speex.AudioFileWriter
Direct Known Subclasses:
OggSpeexWriter, PcmWaveWriter, RawWriter

public abstract class AudioFileWriter
extends java.lang.Object

Abstract Class that defines an Audio File Writer.

Version:
$Revision: 1.2 $
Author:
Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)

Constructor Summary
AudioFileWriter()
           
 
Method Summary
static byte[] buildOggPageHeader(int headerType, long granulepos, int streamSerialNumber, int pageCount, int packetCount, byte[] packetSizes)
          Builds and returns an Ogg Page Header.
static byte[] buildSpeexComment(java.lang.String comment)
          Builds and returns a Speex Comment.
static byte[] buildSpeexHeader(int sampleRate, int mode, int channels, boolean vbr, int nframes)
          Builds a Speex Header.
abstract  void close()
          Closes the output file.
abstract  void open(java.io.File file)
          Open the output file.
abstract  void open(java.lang.String filename)
          Open the output file.
abstract  void writeHeader(java.lang.String comment)
          Writes the header pages that start the Ogg Speex file.
static void writeInt(byte[] data, int offset, int v)
          Writes a Little-endian int.
static void writeInt(java.io.DataOutput out, int v)
          Writes a Little-endian int.
static void writeInt(java.io.OutputStream os, int v)
          Writes a Little-endian int.
static void writeLong(byte[] data, int offset, long v)
          Writes a Little-endian long.
static void writeLong(java.io.OutputStream os, long v)
          Writes a Little-endian long.
static int writeOggPageHeader(byte[] buf, int offset, int headerType, long granulepos, int streamSerialNumber, int pageCount, int packetCount, byte[] packetSizes)
          Writes an Ogg Page Header to the given byte array.
abstract  void writePacket(byte[] data, int offset, int len)
          Writes a packet of audio.
static void writeShort(byte[] data, int offset, int v)
          Writes a Little-endian short.
static void writeShort(java.io.DataOutput out, short v)
          Writes a Little-endian short.
static void writeShort(java.io.OutputStream os, short v)
          Writes a Little-endian short.
static int writeSpeexComment(byte[] buf, int offset, java.lang.String comment)
          Writes a Speex Comment to the given byte array.
static int writeSpeexHeader(byte[] buf, int offset, int sampleRate, int mode, int channels, boolean vbr, int nframes)
          Writes a Speex Header to the given byte array.
static void writeString(byte[] data, int offset, java.lang.String v)
          Writes a String.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AudioFileWriter

public AudioFileWriter()
Method Detail

close

public abstract void close()
                    throws java.io.IOException
Closes the output file.

Throws:
java.io.IOException - if there was an exception closing the Audio Writer.

open

public abstract void open(java.io.File file)
                   throws java.io.IOException
Open the output file.

Parameters:
file - - file to open.
Throws:
java.io.IOException - if there was an exception opening the Audio Writer.

open

public abstract void open(java.lang.String filename)
                   throws java.io.IOException
Open the output file.

Parameters:
filename - - file to open.
Throws:
java.io.IOException - if there was an exception opening the Audio Writer.

writeHeader

public abstract void writeHeader(java.lang.String comment)
                          throws java.io.IOException
Writes the header pages that start the Ogg Speex file. Prepares file for data to be written.

Parameters:
comment - description to be included in the header.
Throws:
java.io.IOException

writePacket

public abstract void writePacket(byte[] data,
                                 int offset,
                                 int len)
                          throws java.io.IOException
Writes a packet of audio.

Parameters:
data - audio data
offset - the offset from which to start reading the data.
len - the length of data to read.
Throws:
java.io.IOException

writeOggPageHeader

public static int writeOggPageHeader(byte[] buf,
                                     int offset,
                                     int headerType,
                                     long granulepos,
                                     int streamSerialNumber,
                                     int pageCount,
                                     int packetCount,
                                     byte[] packetSizes)
Writes an Ogg Page Header to the given byte array.

Parameters:
buf - the buffer to write to.
offset - the from which to start writing.
headerType - the header type flag (0=normal, 2=bos: beginning of stream, 4=eos: end of stream).
granulepos - the absolute granule position.
streamSerialNumber -
pageCount -
packetCount -
packetSizes -
Returns:
the amount of data written to the buffer.

buildOggPageHeader

public static byte[] buildOggPageHeader(int headerType,
                                        long granulepos,
                                        int streamSerialNumber,
                                        int pageCount,
                                        int packetCount,
                                        byte[] packetSizes)
Builds and returns an Ogg Page Header.

Parameters:
headerType - the header type flag (0=normal, 2=bos: beginning of stream, 4=eos: end of stream).
granulepos - the absolute granule position.
streamSerialNumber -
pageCount -
packetCount -
packetSizes -
Returns:
an Ogg Page Header.

writeSpeexHeader

public static int writeSpeexHeader(byte[] buf,
                                   int offset,
                                   int sampleRate,
                                   int mode,
                                   int channels,
                                   boolean vbr,
                                   int nframes)
Writes a Speex Header to the given byte array.

Parameters:
buf - the buffer to write to.
offset - the from which to start writing.
sampleRate -
mode -
channels -
vbr -
nframes -
Returns:
the amount of data written to the buffer.

buildSpeexHeader

public static byte[] buildSpeexHeader(int sampleRate,
                                      int mode,
                                      int channels,
                                      boolean vbr,
                                      int nframes)
Builds a Speex Header.

Parameters:
sampleRate -
mode -
channels -
vbr -
nframes -
Returns:
a Speex Header.

writeSpeexComment

public static int writeSpeexComment(byte[] buf,
                                    int offset,
                                    java.lang.String comment)
Writes a Speex Comment to the given byte array.

Parameters:
buf - the buffer to write to.
offset - the from which to start writing.
comment - the comment.
Returns:
the amount of data written to the buffer.

buildSpeexComment

public static byte[] buildSpeexComment(java.lang.String comment)
Builds and returns a Speex Comment.

Parameters:
comment - the comment.
Returns:
a Speex Comment.

writeShort

public static void writeShort(java.io.DataOutput out,
                              short v)
                       throws java.io.IOException
Writes a Little-endian short.

Parameters:
out - the data output to write to.
v - value to write.
Throws:
java.io.IOException

writeInt

public static void writeInt(java.io.DataOutput out,
                            int v)
                     throws java.io.IOException
Writes a Little-endian int.

Parameters:
out - the data output to write to.
v - value to write.
Throws:
java.io.IOException

writeShort

public static void writeShort(java.io.OutputStream os,
                              short v)
                       throws java.io.IOException
Writes a Little-endian short.

Parameters:
os - - the output stream to write to.
v - - the value to write.
Throws:
java.io.IOException

writeInt

public static void writeInt(java.io.OutputStream os,
                            int v)
                     throws java.io.IOException
Writes a Little-endian int.

Parameters:
os - - the output stream to write to.
v - - the value to write.
Throws:
java.io.IOException

writeLong

public static void writeLong(java.io.OutputStream os,
                             long v)
                      throws java.io.IOException
Writes a Little-endian long.

Parameters:
os - - the output stream to write to.
v - - the value to write.
Throws:
java.io.IOException

writeShort

public static void writeShort(byte[] data,
                              int offset,
                              int v)
Writes a Little-endian short.

Parameters:
data - the array into which the data should be written.
offset - the offset from which to start writing in the array.
v - the value to write.

writeInt

public static void writeInt(byte[] data,
                            int offset,
                            int v)
Writes a Little-endian int.

Parameters:
data - the array into which the data should be written.
offset - the offset from which to start writing in the array.
v - the value to write.

writeLong

public static void writeLong(byte[] data,
                             int offset,
                             long v)
Writes a Little-endian long.

Parameters:
data - the array into which the data should be written.
offset - the offset from which to start writing in the array.
v - the value to write.

writeString

public static void writeString(byte[] data,
                               int offset,
                               java.lang.String v)
Writes a String.

Parameters:
data - the array into which the data should be written.
offset - the offset from which to start writing in the array.
v - the value to write.


Copyright © 1999-2004 Wimba S.A. All Rights Reserved.