Skip to content

Commit 37818d3

Browse files
committed
bug fix - width and height was undefined after prepare.
1 parent 5679d9b commit 37818d3

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

fullscreenvideoview/src/main/java/com/github/rtoshiro/view/video/FullscreenVideoView.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
* @version 2015.0527
5252
* @since 1.0
5353
*/
54-
public class FullscreenVideoView extends RelativeLayout implements SurfaceHolder.Callback, OnPreparedListener, OnErrorListener, OnSeekCompleteListener, OnCompletionListener, OnInfoListener {
54+
public class FullscreenVideoView extends RelativeLayout implements SurfaceHolder.Callback, OnPreparedListener, OnErrorListener, OnSeekCompleteListener, OnCompletionListener, OnInfoListener, OnVideoSizeChangedListener {
5555

5656
/**
5757
* Debug Tag for use logging debug output to LogCat
@@ -277,6 +277,17 @@ public boolean onError(MediaPlayer mp, int what, int extra) {
277277
return false;
278278
}
279279

280+
@Override
281+
public void onVideoSizeChanged(MediaPlayer mp, int width, int height) {
282+
Log.d(TAG, "onVideoSizeChanged = " + width + " - " + height);
283+
284+
if (this.initialMovieWidth == 0 && this.initialMovieHeight == 0) {
285+
initialMovieWidth = width;
286+
initialMovieHeight = height;
287+
resize();
288+
}
289+
}
290+
280291
/**
281292
* Initializes the default configuration
282293
*/
@@ -353,6 +364,7 @@ protected void prepare() throws IllegalStateException {
353364
this.mediaPlayer.setOnErrorListener(this);
354365
this.mediaPlayer.setOnSeekCompleteListener(this);
355366
this.mediaPlayer.setOnInfoListener(this);
367+
this.mediaPlayer.setOnVideoSizeChangedListener(this);
356368
this.mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
357369

358370
this.currentState = State.PREPARING;
@@ -654,7 +666,6 @@ public void pause() throws IllegalStateException {
654666
/**
655667
* Due to a lack of access of SurfaceView, it rebuilds mediaPlayer and all
656668
* views to update SurfaceView canvas
657-
*
658669
*/
659670
public void reset() {
660671
Log.d(TAG, "reset");

0 commit comments

Comments
 (0)