diff --git a/demos/main/src/main/java/androidx/media3/demo/main/PlayerActivity.java b/demos/main/src/main/java/androidx/media3/demo/main/PlayerActivity.java index 6be37323bd..408202e8a1 100644 --- a/demos/main/src/main/java/androidx/media3/demo/main/PlayerActivity.java +++ b/demos/main/src/main/java/androidx/media3/demo/main/PlayerActivity.java @@ -19,6 +19,7 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; +import android.util.Log; import android.util.Pair; import android.view.KeyEvent; import android.view.View; @@ -284,11 +285,9 @@ public class PlayerActivity extends AppCompatActivity debugViewHelper = new DebugTextViewHelper(player, debugTextView); debugViewHelper.start(); } - boolean haveStartPosition = startItemIndex != C.INDEX_UNSET; - if (haveStartPosition) { - player.seekTo(startItemIndex, startPosition); - } - player.setMediaItems(mediaItems, /* resetPosition= */ !haveStartPosition); + + player.seekTo( 2_000); + player.setMediaItems(mediaItems, /* resetPosition= */ false); player.prepare(); String repeatModeExtra = intent.getStringExtra(IntentUtil.REPEAT_MODE_EXTRA); if (repeatModeExtra != null) { @@ -441,7 +440,7 @@ public class PlayerActivity extends AppCompatActivity } protected void clearStartPosition() { - startAutoPlay = true; + startAutoPlay = false; startItemIndex = C.INDEX_UNSET; startPosition = C.TIME_UNSET; } @@ -468,6 +467,7 @@ public class PlayerActivity extends AppCompatActivity @Override public void onPlaybackStateChanged(@Player.State int playbackState) { + Log.d("PlayerListener", "Player STATE=" + playbackState); if (playbackState == Player.STATE_ENDED) { showControls(); } diff --git a/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java b/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java index b766933aeb..4d1aa041f1 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/PlayerView.java @@ -671,9 +671,15 @@ public class PlayerView extends FrameLayout implements AdViewProvider { if (player != null) { if (player.isCommandAvailable(COMMAND_SET_VIDEO_SURFACE)) { if (surfaceView instanceof TextureView) { - player.setVideoTextureView((TextureView) surfaceView); + new Handler().postDelayed(() -> { + player.setVideoTextureView((TextureView) surfaceView); + player.setPlayWhenReady(true); + }, 2_000); } else if (surfaceView instanceof SurfaceView) { - player.setVideoSurfaceView((SurfaceView) surfaceView); + new Handler().postDelayed(() -> { + player.setVideoSurfaceView((SurfaceView) surfaceView); + player.setPlayWhenReady(true); + }, 2_000); } if (!player.isCommandAvailable(COMMAND_GET_TRACKS) || player.getCurrentTracks().isTypeSupported(C.TRACK_TYPE_VIDEO)) {