Я делаю простой на Android, у него есть 5 изображений и 5 звуков, и я создал отдельный массив для них обоих.Я хочу, чтобы при нажатии на следующую кнопку появлялось изображение R.drawable.anp1
и воспроизводился звук R.raw.q1
, и снова, когда я нажимал на следующую кнопку, появлялось изображение R.drawable.anp2
и воспроизводилось изображение R.raw.q2 sound
.В этом случае мой массив изображений работает отлично, как я хочу, но проблема в том, что мой звук не работает правильно, звук моей следующей кнопки работает хорошо, но когда я возвращаюсь к предыдущей кнопке, то сначала выдается звук следующей кнопки, а затемprevious.
Я хочу как image1=sound1
, image2=sound2
, image3=sound3
, но проблема в том, что когда я нажимаю на кнопку Previous, она выглядит следующим образом image2=sound3
, image1=sound2
.
Во-вторых, еще одна проблема состоит в том, что когда один цикл завершен, он отключает все звуки, почему?
Если вам известен какой-либо метод, любая логика if-else ИЛИ Switch-case, тогда, пожалуйста, ответьте мне, еслиПомощь будет оценена. Это мой код:
public class Parandegan extends AppCompatActivity {
private ImageView hImageViewPic;
private Button iButton,gButton;
MediaPlayer ourSong;
private int currentImage = 0;
public int currentAudio = 0;
int[] images = { R.drawable.anp1, R.drawable.anp2, R.drawable.anp3, R.drawable.anp4, R.drawable.anp5 };
int[] audios = { R.raw.q1, R.raw.q2, R.raw.q3, R.raw.q4, R.raw.q5 };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_parandegan);
hImageViewPic = findViewById(R.id.idImageViewPic);
iButton = findViewById(R.id.bIleri);
gButton = findViewById(R.id.bGeri);
iButton.setOnClickListener(iButtonChangeImageListener);
gButton.setOnClickListener(gButtonChangeImageListener); }
View.OnClickListener iButtonChangeImageListener = new View.OnClickListener() {
public void onClick(View v) {
try {
currentImage++;
currentImage = currentImage % images.length;
hImageViewPic.setImageResource(images[currentImage]);
ourSong = MediaPlayer.create(Parandegan.this,audios[currentAudio]);
currentAudio++;
ourSong.start();
}
catch (Exception e)
{
}
} };
View.OnClickListener gButtonChangeImageListener = new View.OnClickListener() {
public void onClick(View v) {
try {
currentImage--;
currentImage = (currentImage + images.length) % images.length;
hImageViewPic.setImageResource(images[currentImage]);
MediaPlayer.create(Parandegan.this,audios[currentAudio]);
currentAudio--;
ourSong.start();
}
catch (Exception e)
{
}
} };
protected void onPause() {
super.onPause();
ourSong.release();
finish();
}
}