Fail lecture vidéo [Fermé]

Signaler
-
Bonjour tout le monde,

J'utilise la classe Exécuter pour lancer deux thread : le premier recevant des paquets vidéo d'un serveur et un autre lisant la vidéo.

Quand le MediaPlayer se lance seulement les paquets reçus auparavant sont lus, le MediaPlayer n'arrive pas à lire les suivants (Il s'arrête).

ExecutorService executorService = Executors.newFixedThreadPool(2);

executorService.execute(new Runnable() {
public void run() {
client = new Socket(IP_SERVER, PORT_SERVER); // Creating the server socket.

if (client != null) {
// Receive video
InputStream in = client.getInputStream();
OutputStream out[] = new OutputStream[1];
// Store on device
out[0] = new FileOutputStream(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Movies/chrono2.mp4");
byte buf[] = new byte[1024];

int n;
while ((n = in.read(buf)) != -1) {
out[0].write(buf, 0, n);
//Adding last in the queue
//Log.d("byte" , "" + out);
}

in.close();
out[0].close();

client.close();
}
});

executorService.execute(new Runnable() {
public void run() {
MediaPlayer mp = new MediaPlayer();
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
e.printStackTrace();
}
try {
mp.setDataSource(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Movies/chrono2.mp4");
mp.prepare();
mp.start();

} catch (IOException e) {
e.printStackTrace();
}

}
});



Merci à vous.