/ / Parar o vídeo do Android após determinado período de tempo - android, android-videoview, android-video-player

Parando o vídeo do Android após determinado período de tempo - android, android-videoview, android-video-player

Eu gostaria de jogar um vídeo com um VideoView no modo de tela cheia no Android 5.1. Além disso, gostaria de parar o vídeo (e alterar a atividade) após um determinado período de tempo (digamos, 5min). Como posso conseguir isso? Meu layout é o seguinte:

<?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>

E o seguinte código:

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();
}
}

Respostas:

1 para resposta № 1

Você deve usar um "MediaPlayer" e então fazer um "Runnable" para parar o vídeo a 5m. Então, com um manipulador, você chama seu Runnable com o método ".postDelayed" como este:

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();
}};
}

Você precisa adaptar este exemplo;)