Ich habe einen einfachen Android Media Player, der mehrere Videos gleichzeitig auf einem einzigen Bildschirm wiedergeben kann. Im Grunde ist ein einzelner Media-Player-Bildschirm in 4 Teile unterteilt, wobei 4 mediaPlayer
Instanzen miteinander verklebt sind und jeder Teil ein bestimmtes Video abspielt.Meine Android MediaPlayer Synchronisationsprobleme
Es funktioniert fast in Ordnung, wenn meine Videodateien lokal auf dem Gerät gespeichert sind. Es gibt Synchronisationsprobleme, aber geringfügige. Aber wenn ich eine URL für HTTP-Streaming eingib, gibt es erhebliche Synchronisationsprobleme. Was ist das Problem? Im Allgemeinen, wie kann ich die Synchronisierungsprobleme entfernen?
Das einzige, was ich tun konnte, war die Instantiierung der Mediaplayer und prepare()
sie nacheinander, dann rufen Sie start()
nacheinander, so dass zumindest die Startzeiten nahe beieinander liegen. Es hat jedoch nicht viel Wirkung.
Hier habe ich eine Methode, die jeder der mediaplayer
Instanzen zurück:
MediaPlayer mediaPreparation(String filename, boolean setMute) {
String url = "myURL"; // your URL here
// create mediaplayer instance
MediaPlayer mediaPlayer = new MediaPlayer();
if (setMute) {
mediaPlayer.setVolume(0, 0);
}
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
} catch (IOException e) {
}
mediaPlayer.setLooping(true);
// mediaPlayer.start();
return mediaPlayer;
}
Und dann eines beginne ich sie nach dem anderen:
mp[0].start();
mp[1].start();
mp[2].start();
mp[3].start();
Tina J, hast du es geschafft, mit diesem Problem umzugehen? Ich habe das gleiche Problem und ich frage mich, ob es eine Lösung dafür gibt. – Mohru