From 94c69e31cdd6bb393de6b337b6be1d486b273c42 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 4 Apr 2020 02:03:15 +0200 Subject: Allow to select audio track --- .../antennapod/dialog/PlaybackControlsDialog.java | 22 ++++++++++++++++++++++ app/src/main/res/layout/audio_controls.xml | 7 +++++++ 2 files changed, 29 insertions(+) (limited to 'app/src/main') diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java index 894b54529..c435bcdc3 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/PlaybackControlsDialog.java @@ -2,6 +2,8 @@ package de.danoeh.antennapod.dialog; import android.app.Dialog; import android.os.Bundle; +import android.os.Handler; +import android.view.View; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.DialogFragment; @@ -17,6 +19,8 @@ import de.danoeh.antennapod.core.util.Converter; import de.danoeh.antennapod.core.util.playback.Playable; import de.danoeh.antennapod.core.util.playback.PlaybackController; +import java.util.List; + public class PlaybackControlsDialog extends DialogFragment { private static final String ARGUMENT_IS_PLAYING_VIDEO = "isPlayingVideo"; @@ -43,6 +47,7 @@ public class PlaybackControlsDialog extends DialogFragment { @Override public void setupGUI() { setupUi(); + setupAudioTracks(); } }; controller.init(); @@ -198,6 +203,23 @@ public class PlaybackControlsDialog extends DialogFragment { }); } + private void setupAudioTracks() { + List audioTracks = controller.getAudioTracks(); + int selectedAudioTrack = controller.getSelectedAudioTrack(); + final Button butAudioTracks = dialog.findViewById(R.id.audio_tracks); + if (audioTracks.size() < 2 || selectedAudioTrack < 0) { + butAudioTracks.setVisibility(View.GONE); + return; + } + + butAudioTracks.setVisibility(View.VISIBLE); + butAudioTracks.setText(audioTracks.get(selectedAudioTrack)); + butAudioTracks.setOnClickListener(v -> { + controller.setAudioTrack((selectedAudioTrack + 1) % audioTracks.size()); + new Handler().postDelayed(this::setupAudioTracks, 500); + }); + } + private float getCurrentSpeed() { Playable media = null; if (controller != null) { diff --git a/app/src/main/res/layout/audio_controls.xml b/app/src/main/res/layout/audio_controls.xml index 0033156dd..6cb87282f 100644 --- a/app/src/main/res/layout/audio_controls.xml +++ b/app/src/main/res/layout/audio_controls.xml @@ -11,6 +11,13 @@ android:minWidth="300dp" android:orientation="vertical"> +