Skip to content

Commit 97f0309

Browse files
committed
add customView MediaPlayer.OnBufferingUpdateListener
1 parent 9c56c5b commit 97f0309

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

VideoOS/LuaViewSDK/src/cn/com/venvy/lua/ud/VenvyUDMediaPlayerView.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,11 @@ public void notifyChanged(VenvyObservable observable, String tag, Bundle bundle)
159159
String currentSource = getSource();
160160
switch (status) {
161161
case CustomVideoView.STATE_PLAYING:
162+
if (lastStatus != mOnStart) {
163+
LuaUtil.callFunction(mOnStart, valueOf(currentSource));
164+
lastStatus = mOnStart;
165+
}
166+
break;
162167
case CustomVideoView.STATE_BUFFERING_PLAYING:
163168
if (lastStatus != mOnStart) {
164169
LuaUtil.callFunction(mOnStart, valueOf(currentSource));

VideoOS/VenvyLibrary/src/main/java/cn/com/venvy/common/media/view/CustomVideoView.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,15 @@ public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
178178
adjustVideoSize(mp.getVideoWidth(), mp.getVideoHeight());
179179
}
180180
};
181+
private MediaPlayer.OnBufferingUpdateListener mOnBufferingUpdateListener = new MediaPlayer.OnBufferingUpdateListener() {
182+
@Override
183+
public void onBufferingUpdate(MediaPlayer mediaPlayer, int i) {
184+
if (i >= 100) {
185+
mCurrentState = STATE_PLAYING;
186+
stateChanged(mCurrentState);
187+
}
188+
}
189+
};
181190

182191
public CustomVideoView(Context context) {
183192
this(context, null, 0);
@@ -230,6 +239,12 @@ public void pausePlay() {
230239
stateChanged(mCurrentState);
231240
VenvyLog.d(TAG, "STATE_BUFFERING_PAUSED");
232241
}
242+
if (mCurrentState == STATE_PREPARED) {
243+
mMediaPlayer.pause();
244+
mCurrentState = STATE_PAUSED;
245+
stateChanged(mCurrentState);
246+
VenvyLog.d(TAG, "STATE_BUFFERING_PAUSED");
247+
}
233248
}
234249

235250
public long getCurrentPosition() {
@@ -382,6 +397,7 @@ private void initPlayer(String url) {
382397
mMediaPlayer.setOnInfoListener(mOnInfoListener);
383398
mMediaPlayer.setOnCompletionListener(mOnCompletionListener);
384399
mMediaPlayer.setOnVideoSizeChangedListener(mOnVideoSizeChangedListener);
400+
mMediaPlayer.setOnBufferingUpdateListener(mOnBufferingUpdateListener);
385401
mCurrentState = STATE_PREPARING;
386402
stateChanged(mCurrentState);
387403
} catch (Exception ex) {

0 commit comments

Comments
 (0)