How do I loop media player files?

In principle, I have 3 songs, and I want the user to be able to return to the first song after completing a cycle of 3 songs. Why won't it work? It will play all 3 songs, then the fourth click does not play any song.

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(); } }); } 
+4
source share
1 answer

Call function:

MediaPlayer.setLooping (true | false)

in 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(); 
+7
source

All Articles