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
|
@Override
|
||||||
public final void stop() {
|
public final void stop() {
|
||||||
stop(/* reset= */ false);
|
stop(/* reset= */ false);
|
||||||
|
@ -1304,6 +1304,18 @@ public interface Player {
|
|||||||
*/
|
*/
|
||||||
void setPlaybackParameters(@Nullable PlaybackParameters playbackParameters);
|
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.
|
* Returns the currently active playback parameters.
|
||||||
*
|
*
|
||||||
|
@ -8605,6 +8605,20 @@ public final class ExoPlayerTest {
|
|||||||
assertThat(liveOffsetAtEnd).isIn(Range.closed(3_900L, 4_100L));
|
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
|
@Test
|
||||||
public void targetLiveOffsetInMedia_withSetPlaybackParameters_usesPlaybackParameterSpeed()
|
public void targetLiveOffsetInMedia_withSetPlaybackParameters_usesPlaybackParameterSpeed()
|
||||||
throws Exception {
|
throws Exception {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user