Sono nuovo ad Android e voglio riprodurre video uno dopo l'altro contemporaneamente in modo che assomigli al video continuo.Riproduci video uno dopo l'altro contemporaneamente senza intoppi [senza passaggio visibile da uno all'altro]
Ho trovato questo link su StackOverflow molto utile. how-to-play-videos-one-after-another-simultaneously Quando sto usando questo allora se io sono in grado di riprodurre i video uno dopo l'altro, Ma il passaggio da un segmento ad altri risultati in pausa il video per un secondo prima di giocare successivo. Quindi non sembra video continuo a causa di questo.
Please help me per risolvere il mio problema. Ecco il mio codice.
public class VideoActivity extends Activity{
VideoView videoView, videoView1;
MediaController mc;
int count = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
videoView = (VideoView) findViewById(R.id.VVSimpleVideo);
setup();
videoView.setOnCompletionListener(completionListener);
}
public void setup() {
String _path = "/mnt/sdcard/Video/"+count+".mp4";
videoView.setVideoPath(_path);
videoView.start();
count++;
}
private OnCompletionListener completionListener=new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.stop();
setup();
}
};
}
Ora ho provato a giocare prendendo due istanze della classe VideoView. Provato per riprodurre il primo video dal primo lettore e il secondo video dal secondo lettore, Terzo video dal primo giocatore e il quarto video dal secondo lettore e così via.
Ma ancora non riesco a riprodurre il video senza problemi e lo stesso problema esiste.
Ecco il mio codice con doppio lettore.
public class VideoActivity extends Activity{
VideoView videoView, videoView1;
MediaController mc;
int count = 0;
String _path;
String _path1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video);
videoView = (VideoView) findViewById(R.id.VVSimpleVideo);
_path = "/mnt/sdcard/Video/"+count+".mp4";
videoView.setVideoPath(_path);
videoView.start();
//setup();
videoView.setOnCompletionListener(completionListener);
videoView1 = (VideoView) findViewById(R.id.VVSimpleVideo);
videoView1.setOnCompletionListener(completionListener1);
count++;
_path1 = "/mnt/sdcard/Video/"+count+".mp4";
videoView1.setVideoPath(_path1);
}
public void setup() {
videoView.start();
count++;
_path1 = "/mnt/sdcard/Video/"+count+".mp4";
videoView1.setVideoPath(_path1);
}
public void setup1() {
videoView1.start();
count++;
_path = "/mnt/sdcard/Video/"+count+".mp4";
videoView.setVideoPath(_path);
}
private OnCompletionListener completionListener=new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.stop();
setup1();
}
};
private OnCompletionListener completionListener1=new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mp.stop();
setup();
}
};
}
Ciao, ho anche un problema simile. Sei riuscito a ottenere il minimo tempo di "cambio schermo nero"? – codeshark