How do I loop my Media Player files?

android, android-mediaplayer, loops, media-player

Solution

Call the function:

MediaPlayer.setLooping(true|false)

on the mediaplayerObject after you called `MediaPlayer.prepare()`

Example:

Uri mediaUri = createUri(context, R.raw.media); // Audiofile in raw folder
Mediaplayer mPlayer = new MediaPlayer();
mPlayer.setDataSource(context, mediaUri);
mPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mPlayer.prepare();

mPlayer.setLooping(true);

mPlayer.start();

Problem

Basically I have 3 songs, and I want the user to be able to loop back to the first song once the cycle of 3 songs is complete. Why won't this work? It will play all 3 songs, then on the fourth click, no song is played. ``` MediaPlayer song0, song1, song2; Button play, next; ArrayList<MediaPlayer> music = new ArrayList<MediaPlayer>(); int track = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); song0 = MediaPlayer.create(TheParty0Activity.this, R.raw.blacksunempire); song1 = MediaPlayer.create(TheParty0Activity.this, R.raw.blueskies); song2= MediaPlayer.create(TheParty0Activity.this, R.raw.fuckingnoise); music.add(song0); music.add(song1); music.add(song2); play = (Button) findViewById(R.id.button0); next = (Button) findViewById(R.id.button1); play.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub music.get(track).start(); } }); next.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub music.get(track).stop(); track++; if(track == 3) track = 0; music.get(track).start(); } }); } ```

Original source