Mis problemas de sincronización de Android MediaPlayer

Tengo un reproductor multimedia Android simple que puede reproducir múltiples videos simultáneamente en una sola pantalla. Entonces, básicamente, una sola pantalla del reproductor multimedia se divide en 4 partes, con 4mediaPlayer instancia pegada, y cada parte reproduce un video determinado.

Funciona casi bien cuando mis archivos de video se almacenan localmente en el dispositivo. Hay problemas de sincronización, pero menores. Pero cuando ingreso una URL para la transmisión HTTP, hay problemas importantes de sincronización. ¿Cuál es el problema? En general, ¿cómo puedo eliminar los problemas de sincronización?

Lo único que pude hacer fue crear instancias de mediaplayers yprepare() ellos, luego llamestart() uno tras otro para que al menos las horas de inicio sean cercanas entre sí. Sin embargo, no tiene mucho efecto.

Aquí tengo un método que devuelve cada uno de losmediaplayer instancias:

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

Y luego los empiezo uno por uno:

mp[0].start();
mp[1].start();
mp[2].start();
mp[3].start();

Respuestas a la pregunta(2)

Su respuesta a la pregunta