Joy of Android: Playing Sound

I do really like Android, unsuspectingly so. It was my New Year’s resolution to finally write an app, and I got this assignment at work to create… the quick business card app. Available in the marketplace. 10 installs in 1 day! Already an upgrade!

OK so I decided to port one of our iPhone apps- French Bingo- over to ‘droid. I immediately ran into a problem. How to play a sound. It wouldn’t play. I copied code from examples, it wouldn’t play. As in most the debugging helped me learn more about the environment, but to cut to the chase, here was the solution:

Enable the emulator to play sound. (d’oh!)

To do this:
1) Launch Eclipse (for Mac), select Run->Run Configs.
2) Select “Android Application” (left pane)
3) Select the “Target” tab in right pane.
4) Scroll down to the hidden field, “Additional Emulator Command Line Options”
5) add “-useaudio”

(Geesh). Yes, my biggest gripe so far with development is that it’s Eclipse environment on a Mac. Most documentation is for Eclipse on a PC, and things like enabling audio are too simple to mention in most blog posts or examples. So here! The internet has a blog post about it.

Here is the code for a simple example of playing a sound. My pet peeve is folks not including library/class calls, so here they are in entirity!

package com.banane.bingueau;

import android.os.Bundle;
import android.util.Log;
import android.view.View;

public class BingueauActivity extends Activity {

        public void onCreate(Bundle savedInstanceState) {
        public void playWord(View v){
                        MediaPlayer mp = MediaPlayer.create(getBaseContext(),;
                        if (mp != null) {
                } catch (Exception e){

        private MediaPlayer.OnCompletionListener mCompletionListener = new MediaPlayer.OnCompletionListener() {
            public void onCompletion(MediaPlayer mp) {

My XML for the layout has a button, “word1” with an “onClick” attribute. That’s how I’m listening for the event:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android=""

Any comments/advice/thoughts are welcome of course.