android ExoPlayer:控制前进和后退按钮的跳过间隔

bxjv4tth  于 2023-06-04  发布在  Android
关注(0)|答案(4)|浏览(261)

我正在寻找一种方法来设置一个跳跃间隔为“前进”和“倒带”按钮。默认情况下,按前进键跳过15秒的视频,但按后退键仅跳过5秒。我想设置都为5秒,但我找不到任何API这样做。

**问题:**如何覆盖ExoPlayer2中“前进”和“后退”按钮的跳过间隔?

soat7uwm

soat7uwm1#

应该是app:fastforward_increment=“5000”app:rewind_increment=“5000”

<com.google.android.exoplayer2.ui.SimpleExoPlayerView
                    android:id="@+id/item_comment_exo_player_view"
                    android:layout_width="match_parent"
                    android:layout_height="250dp"
                    android:layout_gravity="center"
                    android:background="@color/black"
                    android:fitsSystemWindows="true"
                    android:paddingBottom="0dp"
                    android:paddingEnd="0dp"
                    android:paddingStart="0dp"
                    android:paddingTop="0dp"
                    app:controller_layout_id="@layout/custom_playback_control"
                    app:fastforward_increment="5000"
                    app:rewind_increment="5000"
                    app:show_timeout="2000" />
mi7gmzs6

mi7gmzs62#

我尝试了指定的XML属性,但仍然面临同样的问题,即。按前进键跳过15秒视频,但按后退键仅跳过5秒
所以我覆盖了Java代码中的属性值**,将两者都设置为仅跳过5秒**。

// This will override the player controller XML attributes.
    playerView.setFastForwardIncrementMs(5000);
    playerView.setRewindIncrementMs(5000);

更多参考资料请查看官方文档。

mfuanj7w

mfuanj7w3#

**app:fastforward_increment=“5000”app:rewind_increment=“5000”**现在是弃用代码,而不是使用this来实现倒带和快进功能。

只需将此代码添加到按钮onclick侦听器中。

//switch case onClick listener for 'Forward' and 'Rewind'

    case R.id.exo_rewind:
            int rewind = (int) player.getCurrentPosition();
            rewind = rewind - 10000; // 10000 = 10 Seconds
            player.seekTo(rewind);
        break;

    case R.id.exo_forward:
            int forward = (int) player.getCurrentPosition();
            forward = forward + 10000; // 10000 = 10 Seconds
            player.seekTo(forward);
        break;
wbgh16ku

wbgh16ku4#

setFastForwardIncrementMs(或app:fastforward_increment)和setRewindIncrementMs(或app:rewind_increment)不再存在。
在Media3 ExoPlayer中,您可以在构建播放器时设置间隔:

Player player = new ExoPlayer.Builder(context)
        .setSeekForwardIncrementMs(10000L)
        .setSeekBackIncrementMs(10000L)
        .build();

相关问题