Есть такой метод:
public void play_sound_car(int sound_id){
Toast.makeText(context, "Значение: "+String.valueOf(sound_id), Toast.LENGTH_SHORT).show();
if (sound_id == 1) {
mySong = MediaPlayer.create(context, R.raw.one);
mySong.start();
}
if (sound_id == 2){
mySong = MediaPlayer.create(context, R.raw.two);
mySong.start();
}
}
Вызывается классом, который читает значение firebase'а:
id_sound_car.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String id_sound = String.valueOf(dataSnapshot.getValue());
int track_name = Integer.valueOf(id_sound);
Toast.makeText(contextx, String.valueOf(track_name), Toast.LENGTH_SHORT).show();
playsounds.play_sound_car(track_name);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
И почему-то MediaPlayer очень много раз начинает проигрывать один и тот же файл. Причём toast показывается один раз.
Как мне сделать так, чтобы музыка проигрывалась только тогда, когда изменяется значение, причём если она уже играет - то прежний трэк останавливался, а новый начинался?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть массив объектов и элемент текстового поля класса JTextAreaНеобходимо вывести в этот элемент несколько длинных предложений, состоящих из моих...
Необходимо получить джсон, который находится по ссылке https://swapgg/api/inventory/bot