在一定时间后停止 Android 视频

Stopping Android video after certain amount of time

我想在 Android 5.1 中以全屏模式播放带有 VideoView 的视频。此外,我想在一定时间后(比如 5 分钟)停止播放视频(并更改 activity)。我怎样才能做到这一点?我的布局如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
   android:id="@+id/LinearLayout01"
   android:layout_height="fill_parent"     
   android:paddingLeft="2px"
   android:paddingRight="2px"
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:paddingTop="2px"
   android:paddingBottom="2px"
   android:layout_width="fill_parent"
   android:orientation="vertical">

      <VideoView 
         android:layout_height="fill_parent"
         android:layout_width="fill_parent" 
         android:id="@+id/VideoView" />

</LinearLayout>

以及以下代码:

import android.app.Activity;
import android.os.Bundle;
import android.widget.VideoView;

public class VideoViewDemo extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        VideoView videoView = (VideoView)findViewById(R.id.VideoView);

        videoView.setVideoPath("/sdcard/test.mp4");

        videoView.start();  
    }
}

您应该使用 "MediaPlayer" 然后制作 "Runnable" 以在 5m 处停止视频。然后使用处理程序调用 Runnable with ".postDelayed) 方法,如下所示:

public class VideoViewDemo extends Activity {

        MediaPlayer mp;

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

            setContentView(R.layout.main);

            mp = MediaPlayer.create(this, "video");  
            mp.start();

            Handler handler = new Handler();
            handler.postDelayed(stopPlayerTask, 500000);
        }

        Runnable stopPlayerTask = new Runnable(){
            @Override
            public void run() {
                mp.pause();
            }};
}

你需要修改这个例子 ;)