Update IjkVideoView.java

pull/123/head
FongMi 3 years ago
parent e0e8a0f8d2
commit efd2e0803a
  1. 22
      ijkplayer/src/main/java/tv/danmaku/ijk/media/player/ui/IjkVideoView.java

@ -50,6 +50,7 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
private float mCurrentSpeed = 1;
private int mCurrentAspectRatio;
private int mCurrentRender;
private int mStartPosition;
private int mCurrentState = STATE_IDLE;
private int mTargetState = STATE_IDLE;
@ -266,9 +267,15 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
if (mOnInfoListener != null) {
mOnInfoListener.onInfo(mp, what, extra);
}
if (what == IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED) {
mVideoRotationDegree = extra;
if (mRenderView != null) mRenderView.setVideoRotation(extra);
switch (what) {
case IMediaPlayer.MEDIA_INFO_AUDIO_DECODED_START:
if (mStartPosition > 0) seekTo(mStartPosition);
mStartPosition = 0;
break;
case IMediaPlayer.MEDIA_INFO_VIDEO_ROTATION_CHANGED:
mVideoRotationDegree = extra;
if (mRenderView != null) mRenderView.setVideoRotation(extra);
break;
}
return true;
}
@ -420,14 +427,15 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl
}
@Override
public void seekTo(int msec) {
public void seekTo(int positionMs) {
if (!isInPlaybackState()) return;
mInfoListener.onInfo(mIjkPlayer, IMediaPlayer.MEDIA_INFO_BUFFERING_START, 0);
mIjkPlayer.seekTo(msec);
mIjkPlayer.seekTo(positionMs);
}
public void seekTo(long msec) {
seekTo((int) msec);
public void seekTo(long positionMs) {
mStartPosition = (int) positionMs;
seekTo(mStartPosition);
}
public void setSpeed(float speed) {

Loading…
Cancel
Save