Videos in VideoView abspielen, bis Button gedrückt wird

  • Antworten:1
  • Bentwortet
Mike Hopeman
  • Forum-Beiträge: 31

08.04.2014, 14:30:44 via Website

Hallo zusammen,

ich möchte in einer Aktivity in einer VideoView mehrere Videos hintereinander von der SD-Karte abspielen. Ein Video soll solange in einer Loop laufen, bis ein Button gedrückt wird, dann soll das nächste starten und so weiter. Das Abspielen in einer Loop funktioniert einwandfrei, aber ich weiß nicht, wie ich die Abfrage mit dem Button am Besten implementiere.

Mein Code bisher:

1//OnClick on stop video button
2 btn_stop_video.setOnClickListener(new View.OnClickListener() {
3 public void onClick(View v) {
4
5 video_done = true;
6
7 //get elapsed time from the start of the activity until the button click
8 elapsed_time_in_sec = stopwatch.getElapsedTime().getElapsedRealtimeMillis() / 1000;
9 Log.d(TAG, "Exercise duration: " + elapsed_time_in_sec + " seconds");
10 });
11
12 //play the single exercise videos of this level
13 for (int i = current_exercise; i <= exerciseNumber; i++) {
14 Log.d(TAG, "Current exercise: " + i + " from "+ exerciseNumber);
15
16 tv_repetitions.setText("Bitte diese Übung " +
17 feed.getExercise(i).getRepetitions() + " Mal wiederholen");
18
19 //create file of the video which should be played
20 File clip = new File(Environment.getExternalStorageDirectory().getAbsolutePath() +
21 feed.getExercise(i).getPathToVideo());
22 //check if the sd card is mounted or shared
23 Log.d(TAG, "External Storage State is: " + Environment.getExternalStorageState());
24
25 if (clip.exists()) {
26 Log.d(TAG, "Video exist, path is: " + Environment.getExternalStorageDirectory()
27 .getAbsolutePath() + feed.getExercise(i).getPathToVideo());
28
29 //start video in the VideoView
30 video_view.setVideoPath(clip.getAbsolutePath());
31 video_view.setMediaController(null);
32 video_view.requestFocus();
33 //play video in a loop
34 video_view.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
35 @Override
36 public void onPrepared(MediaPlayer mp) {
37 mp.setLooping(true);
38 }
39 });
40 video_view.start();
41 } else {
42 Log.d(TAG, "Video DOES NOT exist, path is: " + Environment.getExternalStorageDirectory()
43 .getAbsolutePath() + feed.getExercise(i).getPathToVideo());
44 }
45 }

Antworten
Mike Hopeman
  • Forum-Beiträge: 31

08.04.2014, 15:22:50 via Website

Ok hab eine andere Lösung gefunden. Wechsle nun bei jedem Button Klick zurück zur vorherigen Activity und starte dann das nächste Video.

Antworten