PlayerUtil.java 1.9 KB
package com.cnlive.im.util;

import android.content.Context;
import android.media.MediaPlayer;
import android.net.Uri;

/**
 * Created by Lynn on 2017/7/21.
 */

public class PlayerUtil implements IVoiceManager{
    private final String TAG = "PlayerUtil";
    private String path;
    private Context mContext;

    private MediaPlayer mediaPlayer;

    public PlayerUtil(Context context){
        this.mContext = context;
//        mediaPlayer = new MediaPlayer();
//        mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
//            @Override
//            public void onCompletion(MediaPlayer mediaPlayer) {
////                mediaPlayer.stop();
//                stop();
//            }
//        });
    }

    @Override
    public boolean start(Uri uri) {
        try {
            mediaPlayer = new MediaPlayer();
            mediaPlayer.setOnCompletionListener(onCompletionListener);
            mediaPlayer.setOnPreparedListener(onPreparedListener);
            mediaPlayer.setDataSource(mContext, uri);
            mediaPlayer.prepare();
//            mediaPlayer.start();
        }catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }

    @Override
    public boolean stop() {
        mediaPlayer.stop();
        mediaPlayer.release();
        mediaPlayer = null;
        return false;
    }

    @Override
    public void onDestory() {
        mediaPlayer.release();
        mediaPlayer = null;
    }

    private MediaPlayer.OnCompletionListener onCompletionListener = new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mediaPlayer) {
            stop();
        }
    };

    private MediaPlayer.OnPreparedListener onPreparedListener = new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mediaPlayer) {
            mediaPlayer.start();
        }
    };
}