
Partager:
Steve est un mathématicien autoproclamé et le roi du sarcasme. Il aime aussi les lévriers, les puzzles tortueux et les jeux de société européens. Lorsqu'il ne parle pas de mathématiques à des personnes qui n'en font pas, ou de Java à des personnes qui n'en font pas, on peut le trouver en train de siroter un café et de bidouiller du code.
Passer un appel téléphonique en synthèse vocale avec Java
Temps de lecture : 6 minutes
Introduction
Dans un précédent tutoriel, nous vous avons montré comment Recevoir un appel téléphonique avec Java et répondre en utilisant la synthèse vocale. Outre la réception d'un appel téléphonique, vous pouvez également passer des appels téléphoniques sortants.
Dans ce tutoriel, vous allez créer une application qui peut effectuer des appels téléphoniques sortants en utilisant Java et l Voice API de Vonage.
Conditions préalables
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Vous utiliserez Gradle pour gérer vos dépendances et exécuter votre application. En outre, vous devrez vous assurer qu'une copie du JDK est installée. Dans ce tutoriel, j'utiliserai le JDK 11, qui est la version LTS actuelle.
Enfin, vous aurez besoin du CLI de Vonage de Vonage. Vous l'utiliserez pour configurer votre Account Vonage afin qu'il pointe vers votre nouvelle application.
Passer un appel téléphonique en synthèse vocale avec Java
Ce tutoriel vous guidera à travers les étapes suivantes :
Ouvrez un compte Vonage, obtenez un numéro de téléphone et créez une application.
Utilisation de Gradle pour initialiser une nouvelle application Java.
Utilisation de la bibliothèque du client Java de Vonage pour lancer un appel téléphonique et exécuter la synthèse vocale.
Configurer votre Account Vonage
Si vous n'avez pas d'application, vous pouvez utiliser le CLI de Vonage pour en créer une. Vous devrez définir le nom de l'application, ainsi qu'une URL de réponse et d'événement que l'API Voice utilisera par défaut :
L'API Voice de Vonage envoie une requête à votre URL de réponse lorsqu'un numéro de téléphone lié à votre application reçoit un appel téléphonique.
L'API Voice Voice fera des demandes à l'URL de votre événement lorsque divers changements d'état se produiront.
Pour en savoir plus sur les applications, consultez notre Guide des Concepts de Vonage.
Utilisez la commande suivante pour créer une application à l'aide de la CLI de Vonage :
Cette commande créera également un fichier appelé private.key dont vous aurez besoin pour vous authentifier auprès de l'API Voice de Vonage afin de passer des appels. Ce fichier sera enregistré dans le répertoire dans lequel vous avez exécuté la commande. Notez également l'ID de l'Application qui est renvoyé, car vous en aurez besoin plus tard.

Utiliser Gradle pour mettre en place un nouveau projet Java
Vous allez utiliser Gradle pour gérer vos dépendances et pour créer et exécuter votre application Java.
La commande gradle init --type=java-application créera tous les dossiers dont vous avez besoin ainsi qu'une classe d'exemple dans laquelle vous écrirez votre code.
À partir de la ligne de commande, créez un nouveau projet Java avec la commande suivante et acceptez les valeurs par défaut aux invites interactives :
Gradle créera la classe App dans le dossier src/main/java/make/tts/call dans le dossier À l'intérieur de cette classe se trouvent un getGreeting et main . Vous n'aurez pas besoin de la méthode getGreeting vous n'en aurez pas besoin, alors n'hésitez pas à la supprimer.
Votre classe App devrait ressembler à ceci :
/*
* This Java source file was generated by the Gradle 'init' task.
*/
package make.tts.call;
public class App {
public static void main(String[] args) {
// Future Code Goes Here
}
} Ajouter les dépendances
Vous utiliserez la bibliothèque Java de Vonage pour communiquer avec l'API Voice Voice. Ajoutez ce qui suit au bloc dependencies de votre fichier build.gradle de votre fichier :
// Nexmo Java Client
implementation 'com.nexmo:client:4.2.0' Initialiser le client Nexmo
La bibliothèque Java de Vonage contient une classe NexmoClient qui vous donne accès aux différentes API de Vonage. Vous utiliserez votre ID d'application et le chemin d'accès à votre fichier private.key de l'étape précédente. L'application NexmoClient utilisera ces informations pour s'authentifier auprès de l'API Voice de Vonage.
Ajoutez ce qui suit à la méthode main de la classe App en résolvant les importations éventuelles :
NexmoClient nexmoClient = NexmoClient.builder()
.applicationId(APPLICATION_ID)
.privateKeyPath(PRIVATE_KEY_PATH)
.build();
VoiceClient voiceClient = nexmoClient.getVoiceClient();Les NexmoClient envoie un Exception si le fichier de clé privée ne peut pas être chargé. Par souci de commodité, modifiez la signature de votre méthode main pour qu'elle lève toutes les exceptions. Votre méthode main devrait maintenant ressembler à ceci :
public static void main(String[] args) throws Exception {
NexmoClient nexmoClient = NexmoClient.builder()`
.applicationId(APPLICATION_ID)
.privateKeyPath(PRIVATE_KEY_PATH)
.build();
VoiceClient voiceClient = nexmoClient.getVoiceClient();
} Construire l'objet Nexmo Call Control
L'API Voice de Vonage est contrôlée à l'aide de l'objet de contrôle d'appel Nexmo (NCCO). Un NCCO est un tableau JSON qui contient un ensemble d'actions que l'API Voice exécutera.
Le NCCO suivant demandera à l'API Voice de Vonage de parler au destinataire lorsqu'il répondra à l'appel :
[
{
"action": "talk",
"text": "This is a text-to-speech call from Vonage"
}
]La bibliothèque du client Java de Vonage fournit des classes qui vous permettent de construire un NCCO. Vous utiliserez les classes Ncco et TalkAction pour construire le NCCO.
Ajoutez ce qui suit à la méthode main en résolvant les importations éventuelles :
TalkAction intro = TalkAction.builder("This is a text-to-speech call from Vonage").build();
Ncco ncco = new Ncco(intro); Passer l'appel téléphonique
La méthode VoiceClient contient une méthode appelée createCall qui attend un com.nexmo.client.voice.Call. L'objet Call est utilisé pour définir le numéro à partir duquel vous appelez, le destinataire que vous souhaitez appeler et le NCCO pour contrôler l'appel.
Créer un nouvel objet Call dans la méthode main et invoquer la méthode createCall avec l'objet créé, en résolvant les importations éventuelles :
Call call = new Call(TO_NUMBER, NEXMO_NUMBER, ncco);
voiceClient.createCall(call); Testez votre application
Démarrez votre application avec la commande gradle run dans votre répertoire make-tts-call répertoire. Vous devriez recevoir un appel téléphonique de votre numéro Vonage.

Une fois que vous aurez répondu à cet appel, la Voice API de Vonage énoncera le message suivant : "Ceci est un appel de synthèse vocale de Vonage."
Conclusion
En quelques lignes de code, vous avez créé une application capable d'appeler un destinataire et de lui adresser un message.
Consultez notre documentation sur Vonage Developer où vous pourrez en apprendre davantage sur le flux d'appels ou sur Objets de contrôle d'appel Nexmo. Voir nos Nexmo Code Snippets for Java pour des exemples de code complets sur ce tutoriel et d'autres.
Partager:
Steve est un mathématicien autoproclamé et le roi du sarcasme. Il aime aussi les lévriers, les puzzles tortueux et les jeux de société européens. Lorsqu'il ne parle pas de mathématiques à des personnes qui n'en font pas, ou de Java à des personnes qui n'en font pas, on peut le trouver en train de siroter un café et de bidouiller du code.
