Jestem nowy dla Androida i chcę odtwarzać filmy jeden po drugim jednocześnie, aby wyglądał jak ciągłe wideo.Równoczesne odtwarzanie wideo jeden po drugim [bez widocznego przełączania się między nimi]
Znalazłem ten link na stackoverflow bardzo pomocne. how-to-play-videos-one-after-another-simultaneously Kiedy używam tego, chociaż mogę odtwarzać filmy jeden po drugim, Ale przełączanie z jednego segmentu na inny powoduje wstrzymanie filmu na sekundę przed odtworzeniem następnego:. Dlatego nie wygląda na ciągłe wideo z tego powodu.
Proszę, pomóż mi rozwiązać mój problem. Oto mój kod.
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();
}
};
}
Teraz starałem się grać poprzez dwie instancje klasy VideoView. Próbowano odtworzyć pierwsze wideo pierwszego gracza, a drugie wideo drugiego gracza, Trzecie wideo od pierwszego gracza i czwarte wideo od drugiego gracza i tak dalej.
Ale nadal nie mogę odtwarzać wideo płynnie i istnieje ten sam problem.
Oto mój kod z podwójnym graczem.
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();
}
};
}
Witaj piku, mam również podobny problem. Czy byłeś w stanie osiągnąć minimalny czas "czarnego ekranu"? – codeshark