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();
|
}
|
|
}
|
}
|