Merge "Audio continue to played even if paused manually"
This commit is contained in:
@ -60,6 +60,7 @@ class HTML5Audio extends Handler
|
|||||||
private static int STARTED = 4;
|
private static int STARTED = 4;
|
||||||
private static int COMPLETE = 5;
|
private static int COMPLETE = 5;
|
||||||
private static int PAUSED = 6;
|
private static int PAUSED = 6;
|
||||||
|
private static int PAUSED_TRANSITORILY = 7;
|
||||||
private static int STOPPED = -2;
|
private static int STOPPED = -2;
|
||||||
private static int ERROR = -1;
|
private static int ERROR = -1;
|
||||||
|
|
||||||
@ -247,7 +248,7 @@ class HTML5Audio extends Handler
|
|||||||
// resume playback
|
// resume playback
|
||||||
if (mMediaPlayer == null) {
|
if (mMediaPlayer == null) {
|
||||||
resetMediaPlayer();
|
resetMediaPlayer();
|
||||||
} else if (mState != ERROR && !mMediaPlayer.isPlaying()) {
|
} else if (mState == PAUSED_TRANSITORILY && !mMediaPlayer.isPlaying()) {
|
||||||
mMediaPlayer.start();
|
mMediaPlayer.start();
|
||||||
mState = STARTED;
|
mState = STARTED;
|
||||||
}
|
}
|
||||||
@ -265,7 +266,9 @@ class HTML5Audio extends Handler
|
|||||||
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
|
case AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:
|
||||||
// Lost focus for a short time, but we have to stop
|
// Lost focus for a short time, but we have to stop
|
||||||
// playback.
|
// playback.
|
||||||
if (mState != ERROR && mMediaPlayer.isPlaying()) pause();
|
if (mState != ERROR && mMediaPlayer.isPlaying()) {
|
||||||
|
pause(PAUSED_TRANSITORILY);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -298,12 +301,16 @@ class HTML5Audio extends Handler
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void pause() {
|
private void pause() {
|
||||||
|
pause(PAUSED);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void pause(int state) {
|
||||||
if (mState == STARTED) {
|
if (mState == STARTED) {
|
||||||
if (mTimer != null) {
|
if (mTimer != null) {
|
||||||
mTimer.purge();
|
mTimer.purge();
|
||||||
}
|
}
|
||||||
mMediaPlayer.pause();
|
mMediaPlayer.pause();
|
||||||
mState = PAUSED;
|
mState = state;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user