java - 如何在 Exoplayer 中暂停/恢复视频?

标签 java android exoplayer

我正在使用 Exoplayer 用于播放视频

播放视频代码


private PlayerView videoView;
SimpleExoPlayer player;

    videoView = findViewById(R.id.video_view);
    player = ExoPlayerFactory.newSimpleInstance(this, new DefaultTrackSelector());
    videoView.setPlayer(player);
    player.prepare(buildMediaSource(Uri.parse(_videoUrl)));
    player.setPlayWhenReady(true);

    videoView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            //i want to pause video
            //next time i want to resume
            return false;
        }
    });

XML 代码


<com.google.android.exoplayer2.ui.PlayerView
    android:id="@+id/video_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    //i don't want to use controls to i am setting false
    app:use_controller="false"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

我找不到任何有用的文档来暂停和恢复视频

我的要求是在触摸任何一个 VideoView 时暂停/恢复视频现在该怎么做?

依赖

implementation 'com.google.android.exoplayer:exoplayer:2.7.3'
implementation 'com.google.android.exoplayer:exoplayer-core:2.7.3'
implementation 'com.google.android.exoplayer:exoplayer-dash:2.7.3'
implementation 'com.google.android.exoplayer:exoplayer-ui:2.7.3'

最佳答案

播放视频

private void playPlayer() {
    if (player != null) {
        player.setPlayWhenReady(true);
    }
}

暂停视频

private void pausePlayer() {
    if (player != null) {
        player.setPlayWhenReady(false);
    }
}

从特定位置

private void seekTo(long positionInMS) {
    if (player != null) {
        player.seekTo(positionInMS);
    }
}

释放播放器

private void releasePlayer() {
    if (player != null) {
        player.release();
    }
}

关于java - 如何在 Exoplayer 中暂停/恢复视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54905518/

相关文章:

android - ExoPlayer 在恢复时恢复状态

android - WebVtt 字幕不显示(不工作)

Java:通用数组创建

php - 无法使用 PHP 从 Android 连接到 MySQL

android - 如何将 Django Rest API 用于视频流 Android 应用程序?

java - Android Java 根据生产/暂存加载不同的设置?

java - 类 Event<T> 中的构造函数 Event 不能应用于给定类型;找不到符号方法 getTitle()

java - 我应该在(Java)App Engine maven 属性中的哪里设置 "environment"变量 - GAE Maven 模板

java - 无法在 Spring Boot 中构建 Hibernate SessionFactory

java - 如何在Intellij/Gradle中创建可运行的.jar文件