Playing sound effects with SoundPool
When you needsound effects in your application, SoundPool
is usually a good starting point.
SoundPool
is interesting in that it allows us to create special effects with our sounds by changing the play rate and by allowing multiple sounds to play simultaneously.
Popular audio file types supported include:
- 3GPP (
.3gp
) - 3GPP (
.3gp
) - FLAC (
.flac
) - MP3 (
.mp3
) - MIDI Type 0 and 1 (
.mid
,.xmf
, and.mxmf
) - Ogg (
.ogg
) - WAVE (
.wav
)
See the Supported Media Formats link for a complete list, including network protocols.
As is common in Android, new releases to the OS bring changes to the APIs.SoundPool
is no exception and the originalSoundPool
constructor was deprecated in Lollipop (API 21). Rather than setting our minimum API to 21 or relying on deprecated code (which may stop working at some point), we'll implement both the old and the new approach and check the OS version at runtime to use the appropriate method.
This recipe will demonstrate how to play sound effects using the Android...