diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlView.java index ea9f4508a3..44711a76a5 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerControlView.java @@ -455,6 +455,9 @@ public class StyledPlayerControlView extends FrameLayout { @Nullable private ImageView fullScreenButton; @Nullable private ImageView minimalFullScreenButton; @Nullable private View settingsButton; + @Nullable private View playbackSpeedButton; + @Nullable private View audioTrackButton; + public StyledPlayerControlView(Context context) { this(context, /* attrs= */ null); @@ -573,6 +576,16 @@ public class StyledPlayerControlView extends FrameLayout { settingsButton.setOnClickListener(componentListener); } + playbackSpeedButton = findViewById(R.id.exo_playback_speed); + if (playbackSpeedButton != null) { + playbackSpeedButton.setOnClickListener(componentListener); + } + + audioTrackButton = findViewById(R.id.exo_audio_track); + if (audioTrackButton != null) { + audioTrackButton.setOnClickListener(componentListener); + } + TimeBar customTimeBar = findViewById(R.id.exo_progress); View timeBarPlaceholder = findViewById(R.id.exo_progress_placeholder); if (customTimeBar != null) { @@ -1871,6 +1884,12 @@ public class StyledPlayerControlView extends FrameLayout { } else if (settingsButton == view) { controlViewLayoutManager.removeHideCallbacks(); displaySettingsWindow(settingsAdapter); + } else if (playbackSpeedButton == view) { + controlViewLayoutManager.removeHideCallbacks(); + onSettingViewClicked(SETTINGS_PLAYBACK_SPEED_POSITION); + } else if (audioTrackButton == view) { + controlViewLayoutManager.removeHideCallbacks(); + onSettingViewClicked(SETTINGS_AUDIO_TRACK_SELECTION_POSITION); } else if (subtitleButton == view) { controlViewLayoutManager.removeHideCallbacks(); displaySettingsWindow(textTrackSelectionAdapter); diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java index 36e4a2ed62..593d7a7f84 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/StyledPlayerView.java @@ -65,6 +65,7 @@ import com.google.android.exoplayer2.ui.spherical.SingleTapListener; import com.google.android.exoplayer2.ui.spherical.SphericalGLSurfaceView; import com.google.android.exoplayer2.util.Assertions; import com.google.android.exoplayer2.util.ErrorMessageProvider; +import com.google.android.exoplayer2.util.Log; import com.google.android.exoplayer2.util.RepeatModeUtil; import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.video.VideoDecoderGLSurfaceView; @@ -594,6 +595,7 @@ public class StyledPlayerView extends FrameLayout implements AdsLoader.AdViewPro subtitleView.setCues(null); } this.player = player; + Log.d("test track", this.player.getTrackSelector().toString()); if (useController()) { controller.setPlayer(player); } diff --git a/library/ui/src/main/res/values/ids.xml b/library/ui/src/main/res/values/ids.xml index 2b3e80beb8..2afc6ad47e 100644 --- a/library/ui/src/main/res/values/ids.xml +++ b/library/ui/src/main/res/values/ids.xml @@ -41,4 +41,7 @@ + + + diff --git a/library/ui/src/main/res/values/styles.xml b/library/ui/src/main/res/values/styles.xml index a7d44ec59b..84f2db543d 100644 --- a/library/ui/src/main/res/values/styles.xml +++ b/library/ui/src/main/res/values/styles.xml @@ -192,6 +192,16 @@ @string/exo_controls_settings_description + + + +