I want to play all mp3 files from raw folder continuously still the user click pause button. Is there any method to loop the all file and play first, second, third and so on till user pauses it.
Variable
ImageView playBtn;
private MediaPlayer mediaPlayer;
public static int[] SoundIndex;
public static int position = 0;
Audio file from raw folder
SoundIndex = new int[] {
R.raw.r0, R.raw.r1, R.raw.r2, R.raw.r3, R.raw.r4, R.raw.r5, R.raw.r6, R.raw.r7, R.raw.r8, R.raw.r9,
R.raw.r10, R.raw.r11, R.raw.r12, R.raw.r13, R.raw.r14, R.raw.r15, R.raw.r16, R.raw.r17, R.raw.r18, R.raw.r19,
R.raw.r20, R.raw.r21, R.raw.r22, R.raw.r23, R.raw.r24, R.raw.r25, R.raw.r26, R.raw.r27, R.raw.r28, R.raw.r29,
R.raw.r30, R.raw.r31, R.raw.r32, R.raw.r33, R.raw.r34, R.raw.r35, R.raw.r36, R.raw.r37, R.raw.r38, R.raw.r39,
R.raw.r40, R.raw.r41, R.raw.r42, R.raw.r43, R.raw.r44, R.raw.r45, R.raw.r46, R.raw.r47, R.raw.r48, R.raw.r49,
R.raw.r50, R.raw.r51, R.raw.r52, R.raw.r53, R.raw.r54, R.raw.r55, R.raw.r56, R.raw.r57, R.raw.r58, R.raw.r59,
R.raw.r60, R.raw.r61, R.raw.r62, R.raw.r63, R.raw.r64, R.raw.r65, R.raw.r66, R.raw.r67, R.raw.r68, R.raw.r69,
R.raw.r70, R.raw.r71, R.raw.r72, R.raw.r73, R.raw.r74, R.raw.r75, R.raw.r76, R.raw.r77, R.raw.r78, R.raw.r79,
R.raw.r80, R.raw.r81, R.raw.r82, R.raw.r83 };
Play all mp3 files on button click
Is there any method to loop the all file and play first, second, third and so on till user pauses it. Please someone tell me which method or logic can apply to play all audio from raw folder continuously play still the user click pause
playBtn = findViewById(R.id.playBtn);
playBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer == null) {
mediaPlayer = MediaPlayer.create(getApplicationContext(), SoundIndex[position]);
playBtn.setBackgroundResource(R.drawable.pause);
mediaPlayer.start();
} else {
if (mediaPlayer.isPlaying()) {
playBtn.setBackgroundResource(R.drawable.play);
mediaPlayer.pause();
} else {
mediaPlayer.start();
playBtn.setBackgroundResource(R.drawable.pause);
}
}
}
});
I found the solution for for playing all mp3 files in continue loop
public class AutoActivity extends AppCompatActivity {
ImageView playBtn;
private int[] soundIndex = {
R.raw.r0, R.raw.r1, R.raw.r2, R.raw.r3, R.raw.r4, R.raw.r5, R.raw.r6, R.raw.r7, R.raw.r8, R.raw.r9,
R.raw.r10, R.raw.r11, R.raw.r12, R.raw.r13, R.raw.r14, R.raw.r15, R.raw.r16, R.raw.r17, R.raw.r18, R.raw.r19,
R.raw.r20, R.raw.r21, R.raw.r22, R.raw.r23, R.raw.r24, R.raw.r25, R.raw.r26, R.raw.r27, R.raw.r28, R.raw.r29,
R.raw.r30, R.raw.r31, R.raw.r32, R.raw.r33, R.raw.r34, R.raw.r35, R.raw.r36, R.raw.r37, R.raw.r38, R.raw.r39,
R.raw.r40, R.raw.r41, R.raw.r42, R.raw.r43, R.raw.r44, R.raw.r45, R.raw.r46, R.raw.r47, R.raw.r48, R.raw.r49,
R.raw.r50, R.raw.r51, R.raw.r52, R.raw.r53, R.raw.r54, R.raw.r55, R.raw.r56, R.raw.r57, R.raw.r58, R.raw.r59,
R.raw.r60, R.raw.r61, R.raw.r62, R.raw.r63, R.raw.r64, R.raw.r65, R.raw.r66, R.raw.r67, R.raw.r68, R.raw.r69,
R.raw.r70, R.raw.r71, R.raw.r72, R.raw.r73, R.raw.r74, R.raw.r75, R.raw.r76, R.raw.r77, R.raw.r78, R.raw.r79,
R.raw.r80, R.raw.r81, R.raw.r82, R.raw.r83};
int mCompleted = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auto);
final MediaPlayer mediaPlayer = MediaPlayer.create(this, soundIndex[0]);
//Play button initialize
playBtn = findViewById(R.id.playBtn);
playBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer.isPlaying()){
mediaPlayer.pause();
playBtn.setImageResource(R.drawable.play);
}else {
mediaPlayer.start();
playBtn.setImageResource(R.drawable.pause);
}
}
});
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mCompleted++;
mp.reset();
if (mCompleted < soundIndex.length) {
try {
AssetFileDescriptor afd = getResources().openRawResourceFd(soundIndex[mCompleted]);
if (afd != null) {
mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
mp.prepare();
mp.start();
}
} catch (Exception ex) {
ex.printStackTrace();
}
} else if (mCompleted >= soundIndex.length) {
mCompleted = 0;
try {
AssetFileDescriptor afd = getResources().openRawResourceFd(soundIndex[mCompleted]);
if (afd != null) {
mp.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
afd.close();
mp.prepare();
mp.start();
}
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
mCompleted = 0;
mp.release();
mp = null;
}
}
});
}
This is complete code which you can play songs continuously in loop
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.