// Path: app/src/main/java/com/github/cchao/touchnews/javaBean/MusicEntity.java
// public class MusicEntity {
//     private Data mMusicInfo;
//     private MusicPathRoot.Data mMusicPath;
//     private MusicSingerRoot.Data mMusicSinger;
// 
//     public MusicEntity(Data data) {
//         mMusicInfo = data;
//     }
// 
//     public MusicPathRoot.Data getMusicPath() {
//         return mMusicPath;
//     }
// 
//     public void setMusicPath(MusicPathRoot.Data musicPath) {
//         mMusicPath = musicPath;
//     }
// 
//     public MusicSingerRoot.Data getMusicSinger() {
//         return mMusicSinger;
//     }
// 
//     public void setMusicSinger(MusicSingerRoot.Data musicSinger) {
//         mMusicSinger = musicSinger;
//     }
// 
//     public Data getMusicInfo() {
// 
//         return mMusicInfo;
//     }
// 
//     public void setMusicInfo(Data musicInfo) {
//         mMusicInfo = musicInfo;
//     }
// }
// 
// Path: app/src/main/java/com/github/cchao/touchnews/javaBean/event/MusicEvent.java
// public class MusicEvent {
//     public enum MUSIC_TYPE {
//         PREPARE, PLAY, PAUSE, RESUME_PALY, STOP
//     }
// 
//     private MUSIC_TYPE type;
// 
//     public MusicEvent(MUSIC_TYPE type) {
//         this.type = type;
//     }
// 
//     public MUSIC_TYPE getType() {
//         return type;
//     }
// 
//     public void setType(MUSIC_TYPE type) {
//         this.type = type;
//     }
// }
// 
// Path: app/src/main/java/com/github/cchao/touchnews/util/ToastUtil.java
// public class ToastUtil {
//     private static Toast toast;
//     private static View view;
// 
//     private ToastUtil() {
//     }
// 
//     @SuppressLint("ShowToast")
//     private static void getToast(Context context) {
//         if (toast == null) {
//             toast = new Toast(context);
//         }
//         if (view == null) {
//             view = Toast.makeText(context, "", Toast.LENGTH_SHORT).getView();
//         }
//         toast.setView(view);
//     }
// 
//     public static void showShortToast(Context context, CharSequence msg) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), msg, Toast.LENGTH_SHORT);
//         } else {
//             showToast(context.getApplicationContext(), msg, Toast.LENGTH_SHORT);
//         }
//     }
// 
//     public static void showShortToast(CharSequence msg) {
//         showToast(BaseApplication.getContext(), msg, Toast.LENGTH_SHORT);
//     }
// 
//     public static void showShortToast(@StringRes int resId) {
//         showToast(BaseApplication.getContext(), resId, Toast.LENGTH_SHORT);
//     }
// 
//     public static void showShortToast(Context context, int resId) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), resId, Toast.LENGTH_SHORT);
//         } else {
//             showToast(context.getApplicationContext(), resId, Toast.LENGTH_SHORT);
//         }
//     }
// 
//     public static void showLongToast(CharSequence msg) {
//         showToast(BaseApplication.getContext(), msg, Toast.LENGTH_LONG);
//     }
// 
//     public static void showLongToast(Context context, CharSequence msg) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), msg, Toast.LENGTH_LONG);
//         } else {
//             showToast(context.getApplicationContext(), msg, Toast.LENGTH_LONG);
//         }
//     }
// 
//     public static void showLongToast(Context context, int resId) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), resId, Toast.LENGTH_LONG);
//         } else {
//             showToast(context.getApplicationContext(), resId, Toast.LENGTH_LONG);
//         }
//     }
// 
//     public static void showLongToast(@StringRes int resId) {
//         showToast(BaseApplication.getContext(), resId, Toast.LENGTH_LONG);
// 
//     }
// 
//     private static void showToast(Context context, CharSequence msg, int duration) {
//         try {
//             getToast(context);
//             toast.setText(msg);
//             toast.setDuration(duration);
//             toast.show();
//         } catch (Exception e) {
//             LogUtil.d(e.getMessage());
//         }
//     }
// 
//     private static void showToast(Context context, int resId, int duration) {
//         try {
//             if (resId == 0) {
//                 return;
//             }
//             getToast(context);
//             toast.setText(resId);
//             toast.setDuration(duration);
//             toast.show();
//         } catch (Exception e) {
//             LogUtil.d(e.getMessage());
//         }
//     }
// 
// }


import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import com.github.cchao.touchnews.javaBean.MusicEntity;
import com.github.cchao.touchnews.javaBean.event.MusicEvent;
import com.github.cchao.touchnews.util.ToastUtil;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;
package com.github.cchao.touchnews.music;





/**
 * Created by cchao on 2016/4/18.
 * E-mail:   cchao1024@163.com
 * Description:  音乐播放器
 */
public class MusicPlayer implements MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener, MediaPlayer.OnBufferingUpdateListener, MediaPlayer.OnPreparedListener {

    private final static String TAG = MusicPlayer.class.getSimpleName();

    private final static long SLEEP_TIME = 1000;
    public boolean isPause;
    public MusicPlayerStateListener mPlayerStateListener;
    private MediaPlayer mMediaPlayer;
// Path: app/src/main/java/com/github/cchao/touchnews/javaBean/MusicEntity.java
// public class MusicEntity {
//     private Data mMusicInfo;
//     private MusicPathRoot.Data mMusicPath;
//     private MusicSingerRoot.Data mMusicSinger;
// 
//     public MusicEntity(Data data) {
//         mMusicInfo = data;
//     }
// 
//     public MusicPathRoot.Data getMusicPath() {
//         return mMusicPath;
//     }
// 
//     public void setMusicPath(MusicPathRoot.Data musicPath) {
//         mMusicPath = musicPath;
//     }
// 
//     public MusicSingerRoot.Data getMusicSinger() {
//         return mMusicSinger;
//     }
// 
//     public void setMusicSinger(MusicSingerRoot.Data musicSinger) {
//         mMusicSinger = musicSinger;
//     }
// 
//     public Data getMusicInfo() {
// 
//         return mMusicInfo;
//     }
// 
//     public void setMusicInfo(Data musicInfo) {
//         mMusicInfo = musicInfo;
//     }
// }
// 
// Path: app/src/main/java/com/github/cchao/touchnews/javaBean/event/MusicEvent.java
// public class MusicEvent {
//     public enum MUSIC_TYPE {
//         PREPARE, PLAY, PAUSE, RESUME_PALY, STOP
//     }
// 
//     private MUSIC_TYPE type;
// 
//     public MusicEvent(MUSIC_TYPE type) {
//         this.type = type;
//     }
// 
//     public MUSIC_TYPE getType() {
//         return type;
//     }
// 
//     public void setType(MUSIC_TYPE type) {
//         this.type = type;
//     }
// }
// 
// Path: app/src/main/java/com/github/cchao/touchnews/util/ToastUtil.java
// public class ToastUtil {
//     private static Toast toast;
//     private static View view;
// 
//     private ToastUtil() {
//     }
// 
//     @SuppressLint("ShowToast")
//     private static void getToast(Context context) {
//         if (toast == null) {
//             toast = new Toast(context);
//         }
//         if (view == null) {
//             view = Toast.makeText(context, "", Toast.LENGTH_SHORT).getView();
//         }
//         toast.setView(view);
//     }
// 
//     public static void showShortToast(Context context, CharSequence msg) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), msg, Toast.LENGTH_SHORT);
//         } else {
//             showToast(context.getApplicationContext(), msg, Toast.LENGTH_SHORT);
//         }
//     }
// 
//     public static void showShortToast(CharSequence msg) {
//         showToast(BaseApplication.getContext(), msg, Toast.LENGTH_SHORT);
//     }
// 
//     public static void showShortToast(@StringRes int resId) {
//         showToast(BaseApplication.getContext(), resId, Toast.LENGTH_SHORT);
//     }
// 
//     public static void showShortToast(Context context, int resId) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), resId, Toast.LENGTH_SHORT);
//         } else {
//             showToast(context.getApplicationContext(), resId, Toast.LENGTH_SHORT);
//         }
//     }
// 
//     public static void showLongToast(CharSequence msg) {
//         showToast(BaseApplication.getContext(), msg, Toast.LENGTH_LONG);
//     }
// 
//     public static void showLongToast(Context context, CharSequence msg) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), msg, Toast.LENGTH_LONG);
//         } else {
//             showToast(context.getApplicationContext(), msg, Toast.LENGTH_LONG);
//         }
//     }
// 
//     public static void showLongToast(Context context, int resId) {
//         if (context == null) {
//             showToast(BaseApplication.getContext(), resId, Toast.LENGTH_LONG);
//         } else {
//             showToast(context.getApplicationContext(), resId, Toast.LENGTH_LONG);
//         }
//     }
// 
//     public static void showLongToast(@StringRes int resId) {
//         showToast(BaseApplication.getContext(), resId, Toast.LENGTH_LONG);
// 
//     }
// 
//     private static void showToast(Context context, CharSequence msg, int duration) {
//         try {
//             getToast(context);
//             toast.setText(msg);
//             toast.setDuration(duration);
//             toast.show();
//         } catch (Exception e) {
//             LogUtil.d(e.getMessage());
//         }
//     }
// 
//     private static void showToast(Context context, int resId, int duration) {
//         try {
//             if (resId == 0) {
//                 return;
//             }
//             getToast(context);
//             toast.setText(resId);
//             toast.setDuration(duration);
//             toast.show();
//         } catch (Exception e) {
//             LogUtil.d(e.getMessage());
//         }
//     }
// 
// }


// Path: app/src/main/java/com/github/cchao/touchnews/music/MusicPlayer.java
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
import com.github.cchao.touchnews.javaBean.MusicEntity;
import com.github.cchao.touchnews.javaBean.event.MusicEvent;
import com.github.cchao.touchnews.util.ToastUtil;
import org.greenrobot.eventbus.EventBus;
import java.util.ArrayList;
import java.util.List;

package com.github.cchao.touchnews.music;





/**
 * Created by cchao on 2016/4/18.
 * E-mail:   cchao1024@163.com
 * Description:  音乐播放器
 */
public class MusicPlayer implements MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener, MediaPlayer.OnBufferingUpdateListener, MediaPlayer.OnPreparedListener {

    private final static String TAG = MusicPlayer.class.getSimpleName();

    private final static long SLEEP_TIME = 1000;
    public boolean isPause;
    public MusicPlayerStateListener mPlayerStateListener;
    private MediaPlayer mMediaPlayer;
    private List<MusicEntity> mMusicList;