mirror of
https://github.com/androidx/media.git
synced 2025-05-16 03:59:54 +08:00
Add setPlaybackSpeed as a convenience method to change speed.
PiperOrigin-RevId: 359734928
This commit is contained in:
parent
1c40c75433
commit
72aec83a9e
@ -137,6 +137,11 @@ public abstract class BasePlayer implements Player {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void setPlaybackSpeed(float speed) {
|
||||
setPlaybackParameters(getPlaybackParameters().withSpeed(speed));
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void stop() {
|
||||
stop(/* reset= */ false);
|
||||
|
@ -1304,6 +1304,18 @@ public interface Player {
|
||||
*/
|
||||
void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters);
|
||||
|
||||
/**
|
||||
* Changes the rate at which playback occurs.
|
||||
*
|
||||
* <p>The pitch is not changed.
|
||||
*
|
||||
* <p>This is equivalent to {@code setPlaybackParameter(getPlaybackParameter().withSpeed(speed))}.
|
||||
*
|
||||
* @param speed The linear factor by which playback will be sped up. Must be higher than 0. 1 is
|
||||
* normal speed, 2 is twice as fast, 0.5 is half normal speed...
|
||||
*/
|
||||
void setPlaybackSpeed(float speed);
|
||||
|
||||
/**
|
||||
* Returns the currently active playback parameters.
|
||||
*
|
||||
|
@ -8605,6 +8605,20 @@ public final class ExoPlayerTest {
|
||||
assertThat(liveOffsetAtEnd).isIn(Range.closed(3_900L, 4_100L));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void playerIdle_withSetPlaybackSpeed_usesPlaybackParameterSpeedWithPitchUnchanged() {
|
||||
ExoPlayer player = new TestExoPlayerBuilder(context).build();
|
||||
player.setPlaybackParameters(new PlaybackParameters(/* speed= */ 1, /* pitch= */ 2));
|
||||
Player.EventListener mockListener = mock(Player.EventListener.class);
|
||||
player.addListener(mockListener);
|
||||
player.prepare();
|
||||
|
||||
player.setPlaybackSpeed(2);
|
||||
|
||||
verify(mockListener)
|
||||
.onPlaybackParametersChanged(new PlaybackParameters(/* speed= */ 2, /* pitch= */ 2));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void targetLiveOffsetInMedia_withSetPlaybackParameters_usesPlaybackParameterSpeed()
|
||||
throws Exception {
|
||||
|
Loading…
x
Reference in New Issue
Block a user