Envoyer une donnée binaire

Pour envoyer une donnée binaire, vous utiliserez la méthode sendBin, au lieu de send:

client->sendBin(DonnéeSonore, TailleDuSon,
                       "speaker = BIN %d raw 2 16000 16 1;",
                       TailleDuSon);

Les deux premiers paramètres sont le son lui-même et sa taille. Viens ensuite l'en-tête URBI et enfin les paramètres otpionnels, employant une syntaxe à la printf.

Pour envoyer un son, il existe une méthode spécialisée appelée sendSound, plus pratique et plus efficace:

client->sendSound(son, "finduson");

Le premier paramètre est une structure USound, décrivant le son à jouer. Le second est une étiquette optionnelle qui sera utilisée par le serveur pour conclure la lecture du son par un l'émission d'un message-système.

Vous pouvez utiliser la fonction convert pour convertir un son vers différents formats.

Avec sendSound, il n'y a pas de limite quant à la taille du tampon sonore, puisqu'il sera découpé en petits morceaux par la bibliothèque. Les données étant copiées par liburbi, le paramètre USound et ses données associées peuvent ensuite être libérées dès que le fonction se termine.