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 cf89fbc110..91d00ab9e3 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
@@ -453,6 +453,8 @@ 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);
@@ -571,6 +573,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) {
@@ -1849,6 +1861,12 @@ public class StyledPlayerControlView extends FrameLayout {
} else if (settingsButton == view) {
controlViewLayoutManager.removeHideCallbacks();
displaySettingsWindow(settingsAdapter);
+ } else if (playbackSpeedButton == view) {
+ controlViewLayoutManager.removeHideCallbacks();
+ displaySettingsWindow(playbackSpeedAdapter);
+ } else if (audioTrackButton == view) {
+ controlViewLayoutManager.removeHideCallbacks();
+ displaySettingsWindow(audioTrackSelectionAdapter);
} else if (subtitleButton == view) {
controlViewLayoutManager.removeHideCallbacks();
displaySettingsWindow(textTrackSelectionAdapter);
diff --git a/library/ui/src/main/res/values/ids.xml b/library/ui/src/main/res/values/ids.xml
index a348e9d11e..b0c1632693 100644
--- a/library/ui/src/main/res/values/ids.xml
+++ b/library/ui/src/main/res/values/ids.xml
@@ -43,6 +43,8 @@
+
+
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
+
+
+
+