From fa71c81ea95a98959805d518a7de06e6a135dead Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Mon, 28 Jun 2021 15:49:29 +1000 Subject: [PATCH] Speed up audio on double tap --- .../securesms/audio/AudioSlidePlayer.java | 11 +++++++++++ .../conversation/v2/messages/VoiceMessageView.kt | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioSlidePlayer.java b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioSlidePlayer.java index 56a06d0cc..61a92105a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/AudioSlidePlayer.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/AudioSlidePlayer.java @@ -23,6 +23,7 @@ import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlayerFactory; import com.google.android.exoplayer2.LoadControl; +import com.google.android.exoplayer2.PlaybackParameters; import com.google.android.exoplayer2.Player; import com.google.android.exoplayer2.SimpleExoPlayer; import com.google.android.exoplayer2.audio.AudioAttributes; @@ -284,6 +285,16 @@ public class AudioSlidePlayer implements SensorEventListener { } } + public float getPlaybackSpeed() { + if (mediaPlayer == null) { return 1.0f; } + return mediaPlayer.getPlaybackParameters().speed; + } + + public void setPlaybackSpeed(float speed) { + if (mediaPlayer == null) { return; } + mediaPlayer.setPlaybackParameters(new PlaybackParameters(speed)); + } + private void notifyOnStart() { Util.runOnMain(() -> getListener().onPlayerStart(AudioSlidePlayer.this)); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VoiceMessageView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VoiceMessageView.kt index 0cd0e8c05..b5fea727c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VoiceMessageView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VoiceMessageView.kt @@ -105,7 +105,8 @@ class VoiceMessageView : LinearLayout, AudioSlidePlayer.Listener { } fun handleDoubleTap() { - Log.d("Test", "handleDoubleTap()") + val player = this.player ?: return + player.playbackSpeed = if (player.playbackSpeed == 1.0f) 1.5f else 1.0f } // endregion }