package org.terasology.audio; import org.terasology.asset.Asset; public interface Sound extends Asset { /** * Returns sound sample length in seconds * Not available on streaming sounds (will return -1) * * @return */ public int getLength(); /** * Return channels amount of sound (1 - mono, 2 - stereo) * * @return */ public int getChannels(); /** * Returns sampling rate of sound (example 44100) * * @return */ public int getSamplingRate(); /** * Reset sound state (clears buffers, reset cached info) * * @return */ public void reset(); // TODO: Have these here? /** * @return the size of the sound buffer */ public int getBufferSize(); /** * @return the id of the sound buffer */ public int getBufferId(); }