That's why it is important to explain the context of your question.
If you just want to press a button and have a sound play, and not deal with programming the Teensy, a simpler approach is to get an Audio FX board from Adafruit that plays OGG and WAV files (not MP3). Note, due to component failures, Adafruit does not sell an integrated unit that includes the amplifier along with the sound board. So, you would either need an Audio FX with headphone output, and use a headphone speaker that includes an amplifier or use a separate amplifier.
For example, if you buy:
You would first use a USB cable to connect the Audio FX board to the computer. It should provide a mountable drive. Copy a WAV file to that drive with the name
T00.WAV. Then remove the Audio FX board from the computer.
Using a USB charger to power the unit, plug in the speaker and turn it on, and hook one connector of the button to ground, and another to the pin labeled #0 on the Adafruit Audio FX board. When you push the button it should play the sound. There are various options to hook different sounds up to different buttons, play a sound that loops, play a sound that latches until you hit the button again, play a random sound, play the next sound, etc. Read the instructions for more details:
https://learn.adafruit.com/adafruit-audio-fx-sound-board.
Note, if you plug in the Speaker to the same USB charger as the Audio FX board, and have them all close together, you will get some audio feedback. If you separate the speaker and Audio FX board, it will eliminate it (or at least reduce it). When I was using it, I tended to run the speaker on battery, so I could keep things all together.
An alternative unit would be the DFPlayer:
http://www.dfrobot.com/wiki/index.php/DFPlayer_Mini_SKU:DFR0299
The code for playing a sound based on a button being pressed is fairly simple in the Teensy using either the Sound Shield or Prop Shield, as most of the details is in the libraries. I can probably post code, if you wanted to use the Teensy.