From 34fa7a66c53149a03cd1f8982b0bafb1e269dd17 Mon Sep 17 00:00:00 2001 From: TadejZupancic <19649651+TadejZupancic@users.noreply.github.com> Date: Mon, 1 Feb 2021 20:03:04 +0100 Subject: [PATCH 01/53] Add option to add playback speed button and audio track selection button via xml. So far only settings button existed that opened a submenu with the playback speed button and audio track selection button. --- .../ui/StyledPlayerControlView.java | 19 +++++++++++++++++++ .../exoplayer2/ui/StyledPlayerView.java | 2 ++ library/ui/src/main/res/values/ids.xml | 3 +++ library/ui/src/main/res/values/styles.xml | 10 ++++++++++ 4 files changed, 34 insertions(+) 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 + + + +