USound

package liburbi.main;

public enum USoundFormat {
  SOUND_RAW,
  SOUND_WAV,
  SOUND_MP3,
  SOUND_OGG,
  SOUND_UNKNOWN;
}

public enum USoundSampleFormat {
  SAMPLE_SIGNED(1),
  SAMPLE_UNSIGNED(2);
}

public class USound {

  /// total size in byte
  public long getSize();

  /// number of audio channels
  public int getChannels();

  /// rate in Hertz
  public int getRate();

  /// sample size in bit
  public int getSampleSize();

  /// format of the sound data
  /// (SOUND_RAW, SOUND_WAV, SOUND_MP3...)
  public USoundFormat getSoundFormat();

  /// sample format
  public USoundSampleFormat getSampleFormat();

  /// sound data in an array of byte
  public byte[] getDataAsByte();
}