Loading core/java/android/webkit/HTML5Audio.java +15 −13 Original line number Diff line number Diff line Loading @@ -67,6 +67,8 @@ class HTML5Audio extends Handler private String mUrl; private boolean mAskToPlay = false; private boolean mLoopEnabled = false; private boolean mProcessingOnEnd = false; private Context mContext; // Timer thread -> UI thread Loading Loading @@ -143,7 +145,13 @@ class HTML5Audio extends Handler // MediaPlayer.OnCompletionListener; public void onCompletion(MediaPlayer mp) { mState = COMPLETE; mProcessingOnEnd = true; nativeOnEnded(mNativePointer); mProcessingOnEnd = false; if (mLoopEnabled == true) { nativeOnRequestPlay(mNativePointer); mLoopEnabled = false; } } // MediaPlayer.OnErrorListener Loading Loading @@ -264,14 +272,10 @@ class HTML5Audio extends Handler private void play() { if (mState == COMPLETE) { if (mState == COMPLETE && mLoopEnabled == true) { // Play it again, Sam mTimer.cancel(); mTimer = new Timer(); mAskToPlay = true; mMediaPlayer.stop(); mState = STOPPED; mMediaPlayer.prepareAsync(); mMediaPlayer.start(); mState = STARTED; return; } Loading Loading @@ -304,14 +308,11 @@ class HTML5Audio extends Handler } private void seek(int msec) { if (mProcessingOnEnd == true && mState == COMPLETE && msec == 0) { mLoopEnabled = true; } if (mState >= PREPARED) { mMediaPlayer.seekTo(msec); if (mState == COMPLETE) { // Seeking after the stream had completed will // cause us to start playing again. This is to // support audio tags that specify loop=true. play(); } } } Loading @@ -336,6 +337,7 @@ class HTML5Audio extends Handler private native void nativeOnBuffering(int percent, int nativePointer); private native void nativeOnEnded(int nativePointer); private native void nativeOnRequestPlay(int nativePointer); private native void nativeOnPrepared(int duration, int width, int height, int nativePointer); private native void nativeOnTimeupdate(int position, int nativePointer); Loading Loading
core/java/android/webkit/HTML5Audio.java +15 −13 Original line number Diff line number Diff line Loading @@ -67,6 +67,8 @@ class HTML5Audio extends Handler private String mUrl; private boolean mAskToPlay = false; private boolean mLoopEnabled = false; private boolean mProcessingOnEnd = false; private Context mContext; // Timer thread -> UI thread Loading Loading @@ -143,7 +145,13 @@ class HTML5Audio extends Handler // MediaPlayer.OnCompletionListener; public void onCompletion(MediaPlayer mp) { mState = COMPLETE; mProcessingOnEnd = true; nativeOnEnded(mNativePointer); mProcessingOnEnd = false; if (mLoopEnabled == true) { nativeOnRequestPlay(mNativePointer); mLoopEnabled = false; } } // MediaPlayer.OnErrorListener Loading Loading @@ -264,14 +272,10 @@ class HTML5Audio extends Handler private void play() { if (mState == COMPLETE) { if (mState == COMPLETE && mLoopEnabled == true) { // Play it again, Sam mTimer.cancel(); mTimer = new Timer(); mAskToPlay = true; mMediaPlayer.stop(); mState = STOPPED; mMediaPlayer.prepareAsync(); mMediaPlayer.start(); mState = STARTED; return; } Loading Loading @@ -304,14 +308,11 @@ class HTML5Audio extends Handler } private void seek(int msec) { if (mProcessingOnEnd == true && mState == COMPLETE && msec == 0) { mLoopEnabled = true; } if (mState >= PREPARED) { mMediaPlayer.seekTo(msec); if (mState == COMPLETE) { // Seeking after the stream had completed will // cause us to start playing again. This is to // support audio tags that specify loop=true. play(); } } } Loading @@ -336,6 +337,7 @@ class HTML5Audio extends Handler private native void nativeOnBuffering(int percent, int nativePointer); private native void nativeOnEnded(int nativePointer); private native void nativeOnRequestPlay(int nativePointer); private native void nativeOnPrepared(int duration, int width, int height, int nativePointer); private native void nativeOnTimeupdate(int position, int nativePointer); Loading