From ce3754a7409562724b5de399cfaab60b96d90da2 Mon Sep 17 00:00:00 2001 From: tianyifeng Date: Tue, 1 Apr 2025 07:39:34 -0700 Subject: [PATCH] Add PlaybackParameters.withPitch() method Issue: androidx/media#2257 PiperOrigin-RevId: 742693410 --- RELEASENOTES.md | 3 +++ .../androidx/media3/common/PlaybackParameters.java | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 983fb0cbd6..afd1d63f2b 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -3,6 +3,9 @@ ### Unreleased changes * Common Library: + * Add `PlaybackParameters.withPitch(float)` method for easily copying a + `PlaybackParameters` with a new `pitch` value + ([#2257](https://github.com/androidx/media/issues/2257)). * ExoPlayer: * Fix sending `CmcdData` in manifest requests for DASH, HLS, and SmoothStreaming ([#2253](https://github.com/androidx/media/pull/2253)). diff --git a/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java b/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java index d63c80e70d..aac3054179 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java +++ b/libraries/common/src/main/java/androidx/media3/common/PlaybackParameters.java @@ -88,6 +88,18 @@ public final class PlaybackParameters { return new PlaybackParameters(speed, pitch); } + /** + * Returns a copy with the given pitch. + * + * @param pitch The new pitch. Must be greater than zero. + * @return The copied playback parameters. + */ + @UnstableApi + @CheckResult + public PlaybackParameters withPitch(@FloatRange(from = 0, fromInclusive = false) float pitch) { + return new PlaybackParameters(speed, pitch); + } + @Override public boolean equals(@Nullable Object obj) { if (this == obj) {