Search in sources :

Example 1 with COMMAND_SET_SPEED_AND_PITCH

use of androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH in project media by androidx.

the class ExoPlayerTest method isCommandAvailable_isTrueForAvailableCommands.

@Test
public void isCommandAvailable_isTrueForAvailableCommands() {
    ExoPlayer player = new TestExoPlayerBuilder(context).build();
    player.addMediaSources(ImmutableList.of(new FakeMediaSource(), new FakeMediaSource()));
    assertThat(player.isCommandAvailable(COMMAND_PLAY_PAUSE)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_PREPARE)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_STOP)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_DEFAULT_POSITION)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM)).isFalse();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM)).isFalse();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_PREVIOUS)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_NEXT)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_TO_MEDIA_ITEM)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_BACK)).isFalse();
    assertThat(player.isCommandAvailable(COMMAND_SEEK_FORWARD)).isFalse();
    assertThat(player.isCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_SHUFFLE_MODE)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_REPEAT_MODE)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_CURRENT_MEDIA_ITEM)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_TIMELINE)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_MEDIA_ITEMS_METADATA)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_MEDIA_ITEMS_METADATA)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_CHANGE_MEDIA_ITEMS)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_AUDIO_ATTRIBUTES)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_VOLUME)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_DEVICE_VOLUME)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_VOLUME)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_DEVICE_VOLUME)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_ADJUST_DEVICE_VOLUME)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_VIDEO_SURFACE)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_TEXT)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_SET_TRACK_SELECTION_PARAMETERS)).isTrue();
    assertThat(player.isCommandAvailable(COMMAND_GET_TRACK_INFOS)).isTrue();
}
Also used : FakeMediaSource(androidx.media3.test.utils.FakeMediaSource) TestExoPlayerBuilder(androidx.media3.test.utils.TestExoPlayerBuilder) Test(org.junit.Test)

Example 2 with COMMAND_SET_SPEED_AND_PITCH

use of androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH in project media by androidx.

the class MediaSessionStub method setPlaybackParameters.

@Override
public void setPlaybackParameters(@Nullable IMediaController caller, int seq, Bundle playbackParametersBundle) {
    if (caller == null || playbackParametersBundle == null) {
        return;
    }
    PlaybackParameters playbackParameters = PlaybackParameters.CREATOR.fromBundle(playbackParametersBundle);
    dispatchSessionTaskWithPlayerCommand(caller, seq, COMMAND_SET_SPEED_AND_PITCH, (sessionImpl, controller) -> {
        sessionImpl.getPlayerWrapper().setPlaybackParameters(playbackParameters);
        return SessionResult.RESULT_SUCCESS;
    }, MediaSessionStub::sendSessionResult);
}
Also used : PlaybackParameters(androidx.media3.common.PlaybackParameters)

Example 3 with COMMAND_SET_SPEED_AND_PITCH

use of androidx.media3.common.Player.COMMAND_SET_SPEED_AND_PITCH in project media by androidx.

the class MediaControllerImplBase method setPlaybackSpeed.

@Override
public void setPlaybackSpeed(float speed) {
    if (!isPlayerCommandAvailable(COMMAND_SET_SPEED_AND_PITCH)) {
        return;
    }
    dispatchRemoteSessionTaskWithPlayerCommand(COMMAND_SET_SPEED_AND_PITCH, (iSession, seq) -> iSession.setPlaybackSpeed(controllerStub, seq, speed));
    if (playerInfo.playbackParameters.speed != speed) {
        PlaybackParameters newPlaybackParameters = playerInfo.playbackParameters.withSpeed(speed);
        playerInfo = playerInfo.copyWithPlaybackParameters(newPlaybackParameters);
        listeners.queueEvent(EVENT_PLAYBACK_PARAMETERS_CHANGED, listener -> listener.onPlaybackParametersChanged(newPlaybackParameters));
        listeners.flushEvents();
    }
}
Also used : PlaybackParameters(androidx.media3.common.PlaybackParameters)

Aggregations

PlaybackParameters (androidx.media3.common.PlaybackParameters)2 FakeMediaSource (androidx.media3.test.utils.FakeMediaSource)1 TestExoPlayerBuilder (androidx.media3.test.utils.TestExoPlayerBuilder)1 Test (org.junit.Test)1