美文网首页
2021-09-08 mediaplayer 工具类

2021-09-08 mediaplayer 工具类

作者: fjasmin | 来源:发表于2021-09-09 11:32 被阅读0次
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;
    }
}

相关文章

网友评论

      本文标题:2021-09-08 mediaplayer 工具类

      本文链接:https://www.haomeiwen.com/subject/oyyiwltx.html