package com.basic.security.utils; import android.media.MediaPlayer; import com.basic.security.base.BaseApplication; import com.basic.security.fragment.SettingFragment; import com.basic.security.fragment.helper.HomePlayAlarmSound; public class AudioPlayer { public static MediaPlayer play(MediaPlayer mp, String alarmAudio, boolean looping) { try { if (mp == null) { mp = MediaPlayer.create(BaseApplication.getApplication().activity, SettingFragment.getAudioRawIndex(alarmAudio)); mp.setLooping(looping); mp.start(); } else { if (!mp.isPlaying() || !looping || HomePlayAlarmSound.shouldRestartSound) { if (HomePlayAlarmSound.shouldRestartSound) { HomePlayAlarmSound.shouldRestartSound = false; } mp.stop(); mp.release(); mp = MediaPlayer.create(BaseApplication.getApplication().activity, SettingFragment.getAudioRawIndex(alarmAudio)); mp.setLooping(looping); mp.start(); } } } catch (Exception e) { e.printStackTrace(); } return mp; } public static void stopInNewThread(final MediaPlayer mp) { new Thread() { @Override public void run() { AudioPlayer.stop(mp); } }.start(); } public static void stop(MediaPlayer mp) { try { if (mp != null && mp.isPlaying()) { mp.stop(); mp.release(); } } catch (Exception e) { e.printStackTrace(); } } }