AudioPlayer
AudioPlayer is an open source Java class that manages WAV, AIFF and AU audio files playback. It provides basic functionality like play, stop, mute and loop. Implements many useful methods to retrieve song position, total time, remaining time, song audio format (sample frequency, resolution, channels). It is written using JavaSound, a standard package included in J2SE since version 1.3, so you don't need to distribute any extra package like JMF (Java Media Framework) with your application. JavaSound provides the lowest level of audio support on the Java platform and AudioPlayer represent higher-level user interfaces built on top of JavaSound. The JavaSound engine can render 8 or 16 bit audio data, in mono or stereo, with sample rates from 8KHz to 48KHz. AudioPlayer can play files of any size with low memory usage. Each AudioPlayer object runs as a separated thread so your application main flow will not freeze during playback.