|
@@ -32,6 +32,7 @@ public class MediaPlayHelper {
|
|
private String mUrl;
|
|
private String mUrl;
|
|
private float mVolume;
|
|
private float mVolume;
|
|
private boolean mLoop;
|
|
private boolean mLoop;
|
|
|
|
+ private boolean play;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 播放res资源
|
|
* 播放res资源
|
|
@@ -134,11 +135,13 @@ public class MediaPlayHelper {
|
|
mediaPlayer.setVolume(mVolume, mVolume);
|
|
mediaPlayer.setVolume(mVolume, mVolume);
|
|
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
|
|
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
|
|
mediaPlayer.start();
|
|
mediaPlayer.start();
|
|
|
|
+ play = true;
|
|
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
|
|
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
|
|
@Override
|
|
@Override
|
|
public void onCompletion(MediaPlayer player) {
|
|
public void onCompletion(MediaPlayer player) {
|
|
// playMusicComplete();
|
|
// playMusicComplete();
|
|
stopMusicNow();
|
|
stopMusicNow();
|
|
|
|
+ play = false;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
@@ -147,11 +150,13 @@ public class MediaPlayHelper {
|
|
//playMusicError();
|
|
//playMusicError();
|
|
stopMusicNow();
|
|
stopMusicNow();
|
|
releaseMediaSession();
|
|
releaseMediaSession();
|
|
|
|
+ play = false;
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
// initMediaSession();
|
|
// initMediaSession();
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
+ play = false;
|
|
//playMusicError();
|
|
//playMusicError();
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
@@ -169,6 +174,7 @@ public class MediaPlayHelper {
|
|
mediaPlayer.setLooping(mLoop);
|
|
mediaPlayer.setLooping(mLoop);
|
|
mediaPlayer.setVolume(mVolume, mVolume);
|
|
mediaPlayer.setVolume(mVolume, mVolume);
|
|
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
|
|
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
|
|
|
|
+ play = true;
|
|
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
|
|
@Override
|
|
@Override
|
|
public void onPrepared(MediaPlayer player) {
|
|
public void onPrepared(MediaPlayer player) {
|
|
@@ -182,20 +188,24 @@ public class MediaPlayHelper {
|
|
public void onCompletion(MediaPlayer player) {
|
|
public void onCompletion(MediaPlayer player) {
|
|
//playMusicComplete();
|
|
//playMusicComplete();
|
|
//stopMusicNow();
|
|
//stopMusicNow();
|
|
|
|
+ play = false;
|
|
EventBus.getDefault().post(new MessageEvent("im_done", Constants.EVENT_IM_PLAY_DONE));
|
|
EventBus.getDefault().post(new MessageEvent("im_done", Constants.EVENT_IM_PLAY_DONE));
|
|
}
|
|
}
|
|
});
|
|
});
|
|
mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
|
|
@Override
|
|
@Override
|
|
public boolean onError(MediaPlayer player, int what, int extra) {
|
|
public boolean onError(MediaPlayer player, int what, int extra) {
|
|
|
|
+ Log.e(TAG, "media play error...");
|
|
//playMusicError();
|
|
//playMusicError();
|
|
stopMusicNow();
|
|
stopMusicNow();
|
|
|
|
+ play = false;
|
|
EventBus.getDefault().post(new MessageEvent("im_done", Constants.EVENT_IM_PLAY_DONE));
|
|
EventBus.getDefault().post(new MessageEvent("im_done", Constants.EVENT_IM_PLAY_DONE));
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
mediaPlayer.prepareAsync();
|
|
mediaPlayer.prepareAsync();
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
|
+ play = false;
|
|
//playMusicError();
|
|
//playMusicError();
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
@@ -215,6 +225,7 @@ public class MediaPlayHelper {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ play = false;
|
|
mediaPlayer = null;
|
|
mediaPlayer = null;
|
|
releaseMediaSession();
|
|
releaseMediaSession();
|
|
}
|
|
}
|
|
@@ -231,13 +242,14 @@ public class MediaPlayHelper {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ play = false;
|
|
mediaPlayer = null;
|
|
mediaPlayer = null;
|
|
releaseMediaSession();
|
|
releaseMediaSession();
|
|
}
|
|
}
|
|
|
|
|
|
public boolean isMediaPlaying() {
|
|
public boolean isMediaPlaying() {
|
|
if (mediaPlayer != null) {
|
|
if (mediaPlayer != null) {
|
|
- return mediaPlayer.isPlaying();
|
|
|
|
|
|
+ return mediaPlayer.isPlaying() || play;
|
|
}
|
|
}
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|