Android supports a variety of audio file formats and codecs for playback (it supports fewer for recording, which we'll discuss when we go over recording).
■ AAC: Advanced Audio Coding codec (as well as both profiles of HE-AAC, High Efficiency AAC), .m4a (audio/m4a) or.3gp (audio/3gpp) files. AAC is a popular standard that is used by the iPod and other portable media players. Android supports this audio format inside of MPEG-4 audio files and inside of 3GP files (which are based on the MPEG-4 format). Recent additions to the AAC specification, High Efficiency AAC are also supported.
■ MP3: MPEG-1 Audio Layer 3, .mp3 (audio/mp3) files. MP3, probably the most widely used audio codec, is supported. This allows Android to utilize the vast majority of audio available online through various web sites and music stores.
■ AMR: Adaptive Multi-Rate codec (both AMR Narrowband, AMR-NB, and AMR Wideband, AMR-WB), .3gp (audio/3gpp) or .amr (audio/amr) files. AMR is the audio codec that has been standardized as the primary voice audio codec in use by the 3GPP (3rd Generation Partnership Project). The 3GPP is a telecommunications industry organization that creates specifications for the partner companies to use. In other words, the AMR codec is what is primarily used for voice calling applications on modern mobile phones and generally supported across mobile handset manufacturers and carriers. As such, this codec is generally useful for voice encoding but doesn't perform well for more complex types of audio such as music.
■ Ogg: Ogg Vorbis, .ogg (application/ogg) files. Ogg Vorbis is an open source, patent-free audio codec with quality that is comparable to commercial and patent-encumbered codecs such as MP3 and AAC. It was developed by volunteers and is currently maintained by the Xiph.Org foundation.
■ PCM: Pulse Code Modulation commonly used in WAVE or WAV files (Waveform Audio Format), .wav (audio/x-wav) files. PCM is the technique used for storing audio on computers and other digital audio devices. It is generally an uncompressed audio file with data that represents the amplitude of a piece of audio over time. The "sample rate" is how often an amplitude reading is stored. The "bit-depth" is how many bits are used to represent an individual sample. A piece of audio data with a sample rate of 16kHz and a bit-depth of 32 bits means that it will contain 32 bits of data representing the amplitude of the audio and it will have 16,000 of these per second. The higher the sample rate and the higher the bit-depth, the more accurate the digitization of the audio is. Sample rate and bit-depth also determine how large the audio file will be when its length is taken into account. Android supports PCM audio data within WAV files. WAV is a longstanding standard audio format on PCs.
Was this article helpful?