/** * Based on Fmod examples. * * @author J�r�me JOUVIE (Jouvieje) * * WANT TO CONTACT ME ? * @author J�r�me JOUVIE (Jouvieje) * @site http://jerome.jouvie.free.fr/ * @mail jerome.jouvie@gmail.com */ package org.jouvieje.Fmod.FileFormat.WavFormat; import java.io.IOException; import java.io.RandomAccessFile; import java.nio.ByteBuffer; import org.jouvieje.Fmod.Misc.FileWriterUtils; import org.jouvieje.Fmod.Misc.BufferUtils; public class RiffChunk { public final static int SIZEOF_RIFF_CHUNK = 4 * BufferUtils.SIZEOF_BYTE + BufferUtils.SIZEOF_INT; private byte[] id = null; //byte[4] private int size = -1; public RiffChunk(byte[] id, int size) { this.id = id; this.size = size; } public byte[] getId() { return id; } public void setId(byte[] id) { this.id = id; } public int getSize() { return size; } public void setSize(int size) { this.size = size; } /** * Write an <Code>RiffChunk</code> object into a file. * @param file a file to write in. * @param riffChunk a <code>RiffChunk</code> object. */ public static void writeRiffChunk(RandomAccessFile file, RiffChunk riffChunk) throws IOException { FileWriterUtils.writeByteArray(file, riffChunk.getId()); FileWriterUtils.writeInt(file, riffChunk.getSize()); } public static void putRiffChunk(ByteBuffer buffer, RiffChunk riffChunk) { buffer.put(riffChunk.getId()); buffer.putInt(riffChunk.getSize()); } }