【问题标题】:How to resume video where it last stopped using VideoView on Android?如何在 Android 上使用 VideoView 恢复上次停止的视频?
【发布时间】:2021-11-28 21:53:19
【问题描述】:

我正在尝试使用 VideoView 制作视频播放器。视频可以播放,但是当我关闭应用程序并重新打开它时,视频不会从停止的地方恢复并从头开始。有谁知道如何解决这一问题?谢谢!

这是我正在使用的代码:

package com.example.praythisworks;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import android.widget.MediaController;
import android.widget.VideoView;
import android.net.Uri;

public class MainActivity extends AppCompatActivity {

    static final String STATE_USER = "user";
    private String mUser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        VideoView videoView =(VideoView)findViewById(R.id.vdVw);
        //Set MediaController  to enable play, pause, forward, etc options.
        MediaController mediaController= new MediaController(this);
        mediaController.setAnchorView(videoView);
        //Location of Media File
        Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.thefeels);
        //Starting VideView By Setting MediaController and URI
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(uri);
        videoView.requestFocus();
        videoView.start();
    }

    
}

【问题讨论】:

    标签: java android android-videoview


    【解决方案1】:

    您可以通过videoView.getCurrentPosition();从VideoView获取当前进度

    所以在暂停之前获取视频的当前位置

    int seekPosition = videoView.getCurrentPosition();
    

    在恢复视频时,您可以在 VideoView 上调用 seekTo() 方法并像下面这样启动它。

    videoView.seekTo(seekPosition);
    videoView.start();
    

    【讨论】:

    • 您好,感谢您的帮助!呃,我试着把它放在我的代码中,但我想我可能放错了?你可以把你的编辑放在我的完整代码中吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    相关资源
    最近更新 更多