kennyjava
Messages postés2Date d'inscriptionjeudi 6 octobre 2005StatutMembreDernière intervention17 mars 2006
-
15 mars 2006 à 23:13
kennyjava
Messages postés2Date d'inscriptionjeudi 6 octobre 2005StatutMembreDernière intervention17 mars 2006
-
17 mars 2006 à 07:33
Bonsoir à tous !
Dans le cadre d'un projet, je dois développer une partie d'application qui permet à plusieurs utilisateurs de discuter avec un micro et casque entre eux.
J'arrive à envoyer le son et à le recevoir sur un autre PC mais la réception est saccadée et régulière.
Le problème, sans compter celui la, c'est que je n'arrive pas à faire la même chose à plus de 2 !
Pour le faire entre 2 personnes, je récupère un tableau de bytes que j'envoi dans un OutputStream d'un Socket :
InetAddress adress = InetAddress.getByName("localhost");
Socket socket = new Socket(adress,11111);
OutputStream os = socket.getOutputStream();
while (thread != null) {
numBytesRead = line.read(data, 0, bufferLengthInBytes);
if (numBytesRead > 0){
os.write(data, 0, numBytesRead);
}
}
Pour plus que 2 personnes, j'ai essayé avec un MulticastSocket, etc... mais je n'entend aucun son.
tucobouch
Messages postés194Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention 1 mai 200950 16 mars 2006 à 23:22
Je vois juste un petit probleme : ton OutputStream, essaye de le remplacer par un BufferedOutputStream pour voir :
BufferedOutputStream os=new BufferedOutputStream(socket.getOutputStream(),taille_buffer);
Fait pareil pour la reception
Je pense que ça devrait résoudre le probleme de sacade.
Pour envoyer du son a plusieures personnes, tu envoi en MultiCast , as tu join les participant dans le groupe ? Sinon une autre méthode est d'envoyer en broadcast (uniquement valable si les participants sont sur le meme reseau local)