2021-09-08 mediaplayer 工具类
2021-09-09 本文已影响0人
fjasmin
public final class Player {
private static volatile Player player;
public static Player getInstance() {
if (player == null) {
synchronized (Player.class){
if(player == null){
player = new Player();
}
}
}
return player;
}
private MediaPlayer mediaPlayer;
private Player() {
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnPreparedListener(MediaPlayer::start);
}
public void play(Context context, String path){
if(TextUtils.isEmpty(path)){
return;
}
mediaPlayer.pause();
mediaPlayer.reset();
try {
mediaPlayer.setDataSource(context, Uri.parse(path));
mediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
public void pause(){
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
}
}
public void release(){
if(mediaPlayer.isPlaying()){
mediaPlayer.pause();
}
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}