Package org.xiph.speex
Class AudioFileWriter
- java.lang.Object
-
- org.xiph.speex.AudioFileWriter
-
- Direct Known Subclasses:
OggSpeexWriter,PcmWaveWriter,RawWriter
public abstract class AudioFileWriter extends java.lang.ObjectAbstract Class that defines an Audio File Writer.- Version:
- $Revision: 1.2 $
- Author:
- Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)
-
-
Constructor Summary
Constructors Constructor Description AudioFileWriter()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 voidclose()Closes the output file.abstract voidopen(java.io.File file)Open the output file.abstract voidopen(java.lang.String filename)Open the output file.abstract voidwriteHeader(java.lang.String comment)Writes the header pages that start the Ogg Speex file.static voidwriteInt(byte[] data, int offset, int v)Writes a Little-endian int.static voidwriteInt(java.io.DataOutput out, int v)Writes a Little-endian int.static voidwriteInt(java.io.OutputStream os, int v)Writes a Little-endian int.static voidwriteLong(byte[] data, int offset, long v)Writes a Little-endian long.static voidwriteLong(java.io.OutputStream os, long v)Writes a Little-endian long.static intwriteOggPageHeader(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 voidwritePacket(byte[] data, int offset, int len)Writes a packet of audio.static voidwriteShort(byte[] data, int offset, int v)Writes a Little-endian short.static voidwriteShort(java.io.DataOutput out, short v)Writes a Little-endian short.static voidwriteShort(java.io.OutputStream os, short v)Writes a Little-endian short.static intwriteSpeexComment(byte[] buf, int offset, java.lang.String comment)Writes a Speex Comment to the given byte array.static intwriteSpeexHeader(byte[] buf, int offset, int sampleRate, int mode, int channels, boolean vbr, int nframes)Writes a Speex Header to the given byte array.static voidwriteString(byte[] data, int offset, java.lang.String v)Writes a String.
-
-
-
Method Detail
-
close
public abstract void close() throws java.io.IOExceptionCloses 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.IOExceptionOpen 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.IOExceptionOpen 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.IOExceptionWrites 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.IOExceptionWrites a packet of audio.- Parameters:
data- audio dataoffset- 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.IOExceptionWrites 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.IOExceptionWrites 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.IOExceptionWrites 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.IOExceptionWrites 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.IOExceptionWrites 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.
-
-