Skip to content

Instantly share code, notes, and snippets.

@hkurosawa
Created March 16, 2012 10:23
Show Gist options
  • Save hkurosawa/2049459 to your computer and use it in GitHub Desktop.
Save hkurosawa/2049459 to your computer and use it in GitHub Desktop.
Playing sound file in assets folder on Android
import android.media.MediaPlayer;
public class PlayerExample {
MediaPlayer p = null;
private void playSound(String fileName) {
p = new MediaPlayer();
try {
AssetFileDescriptor afd = ctx.getAssets().openFd(fileName);
p.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
p.prepare();
} catch (Exception e) {
e.printStackTrace();
}
p.start();
}
}
@jaredsburrows
Copy link

jaredsburrows commented May 20, 2015

Make sure you are passing in the Context:

import android.media.MediaPlayer;

public final class PlayerExample {
    MediaPlayer mediaPlayer = new MediaPlayer();

    public void playSound(Context context, String fileName) {
        try {
            AssetFileDescriptor descriptor = context.getAssets().openFd(fileName);
            mediaPlayer.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
            descriptor.close();
            mediaPlayer.prepare();
        } catch (Exception e) {
            e.printStackTrace();
        }
        mediaPlayer.start();
    }
}

@KidusMT
Copy link

KidusMT commented Oct 15, 2020

How do I make it stop once it has started? @jaredsburrows @hkurosawa

@jaredsburrows
Copy link

@KidusMT, I believe you call stop() for MediaPlayer. See here: https://developer.android.com/reference/android/media/MediaPlayer#stop().

@KidusMT
Copy link

KidusMT commented Oct 23, 2020

Yes Yes... I did. Thank you! @jaredsburrows

public void stopSound() {
        if (mediaPlayer != null)
            mediaPlayer.stop();
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment