Зацикливание медиаплеера: Android

У меня есть 3 секунды mp3 файла. Я хочу непрерывно воспроизводить этот mp3-файл, пока пользователь нажимает кнопку паузы. Есть ли способ зациклить один файл и снова воспроизвести его, пока пользователь не приостановит его.


person Dray    schedule 27.02.2012    source источник


Ответы (4)


Это работает над моими проектами, поместите mediaPlayer.setLooping(true); после mediaPlayer.start();

public static void PlayAudio(Context c, int id){
        mediaPlayer = MediaPlayer.create(c, id);
        soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC,50);
        if (!mediaPlayer.isPlaying())
        {
            isPlayingAudio = true;
            mediaPlayer.start();
            mediaPlayer.setLooping(true);
        }
    }

Счастливого кодирования

person Supriyanto    schedule 12.11.2017

Это рабочий код, который я использовал в своем проекте.

 if (Flags.notificationReceived) {
                        showAlert(Flags.patientModel);
                        Flags.notificationReceived = false;
                        mp.start();
                        mp.setLooping(true);
                        vibrate(2000);
                    }
person Jeffy    schedule 17.11.2016
comment
остановить зацикливание, нажав на ту же игру - person bhupathi turaga; 19.09.2018

Этот работает для меня. (написано на Котлине)

 val uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM)
 var mp = MediaPlayer.create(context, uri)
 mp.isLooping = true
 mp.start()

Для остановки вы должны вызвать свою функцию stop():

mp.stop()
person Marci    schedule 02.03.2020

person    schedule
comment
после вызова player.stop.. сделал player.start... но он не работает... есть идеи, как перезапустить цикл..? - person CoDe; 30.12.2013
comment
как только вы позвоните stop(), вы должны позвонить prepare()/prepareAsync(), прежде чем снова позвонить start() - person aldrin; 24.01.2014
comment
Как я могу сделать это только 3 раза?? - person K Pradeep Kumar Reddy; 01.05.2020