
Compartilhar:
Steve se autodenomina “Mathlete” e “Rei da Ironia”. Ele também é apaixonado por galgos, quebra-cabeças de torção e jogos de tabuleiro europeus. Quando não está falando de matemática para quem não entende de matemática, nem de Java para quem não entende de Java, ele pode ser encontrado tomando café e programando.
Fazer uma chamada telefônica com conversão de texto em fala usando Java
Tempo de leitura: 6 minutos
Introdução
Em um tutorial anterior, mostramos a vocês como receber uma chamada telefônica com Java e responder usando conversão de texto em fala. Além de receber uma ligação, você também pode fazer ligações.
Neste tutorial, você criará um aplicativo capaz de realizar chamadas telefônicas com conversão de texto em fala utilizando Java e a Voice API da Vonage.
Pré-requisitos
Você utilizará o Gradle para gerenciar suas dependências e executar seu aplicativo. Além disso, você precisará se certificar de que tem uma cópia do JDK instalada. Neste tutorial, usarei o JDK 11, que é a versão LTS atual.
Por fim, você precisará do CLI da Vonage instalada. Você a utilizará para configurar sua conta da Vonage para que ela aponte para seu novo aplicativo.
Fazer uma chamada telefônica com conversão de texto em fala usando Java
Este tutorial irá guiá-lo pelas seguintes etapas:
Cadastre-se para obter uma conta na Vonage, receba um número de telefone e crie uma Application.
Usando o Gradle para inicializar um novo aplicativo Java.
Utilizando a biblioteca de clientes Java da Vonage para iniciar uma chamada telefônica e executar a conversão de texto em fala.
Configure seu Account da Vonage
Se você não tiver um aplicativo, pode usar a CLI da Vonage para criar um. Você precisará definir o nome do aplicativo, bem como uma resposta e uma URL de evento que a Voice API utilizará por padrão:
A Voice API da Vonage enviará uma solicitação para a sua URL de resposta quando um número de telefone vinculado ao seu aplicativo receber uma chamada.
A Voice API da Vonage enviará solicitações para a URL do seu evento sempre que ocorrerem diversas mudanças de status.
Para saber mais sobre as Applications, consulte nosso Guia de Concepts da Vonage.
Use o comando a seguir para criar um aplicativo usando a CLI da Vonage:
Esse comando também criará um arquivo chamado private.key , que você precisará para se autenticar na Voice API da Vonage a fim de fazer chamadas. Esse arquivo será salvo no diretório em que você executar o comando. Anote também o ID da aplicação que for retornado, pois você precisará dele mais tarde.

Usando o Gradle para configurar um novo projeto em Java
Você usará o Gradle para gerenciar suas dependências e para criar e executar sua aplicação Java.
O gradle init --type=java-application comando criará todas as pastas necessárias, além de uma classe de exemplo na qual você escreverá seu código.
Na linha de comando, crie um novo projeto Java com o seguinte comando e aceite os valores padrão nas solicitações interativas:
O Gradle criará a App classe na src/main/java/make/tts/call pasta. Dentro dessa classe há um getGreeting e main método. Você não precisará do getGreeting , então fique à vontade para removê-lo.
Sua App classe deve ficar assim:
/*
* 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
}
} Adicionar as dependências
Você utilizará a biblioteca Java da Vonage para se comunicar com a Voice API da Vonage. Adicione o seguinte ao dependencies bloco no seu build.gradle arquivo:
// Nexmo Java Client
implementation 'com.nexmo:client:4.2.0' Inicializar o cliente Nexmo
A biblioteca Java da Vonage contém uma NexmoClient classe que permite acessar as diversas APIs da Vonage. Você utilizará seu ID de aplicativo e o caminho para o seu private.key arquivo da etapa anterior. O NexmoClient usará essas informações para se autenticar na Voice API da Vonage.
Adicione o seguinte ao main método da App classe, resolvendo todas as importações:
NexmoClient nexmoClient = NexmoClient.builder()
.applicationId(APPLICATION_ID)
.privateKeyPath(PRIVATE_KEY_PATH)
.build();
VoiceClient voiceClient = nexmoClient.getVoiceClient();O NexmoClient lança uma Exception se o arquivo da chave privada não puder ser carregado. Por uma questão de conveniência, modifique a main assinatura do método para lançar quaisquer exceções. Seu main método deve ficar assim agora:
public static void main(String[] args) throws Exception {
NexmoClient nexmoClient = NexmoClient.builder()`
.applicationId(APPLICATION_ID)
.privateKeyPath(PRIVATE_KEY_PATH)
.build();
VoiceClient voiceClient = nexmoClient.getVoiceClient();
} Criar o objeto de controle de chamadas do Nexmo
A Voice API da Vonage é controlada por meio do Nexmo Call Control Object (NCCO). Um NCCO é um array JSON que contém um conjunto de ações que a Voice API irá executar.
O NCCO a seguir instruirá a Voice API da Vonage a falar com o destinatário quando ele atender a chamada:
[
{
"action": "talk",
"text": "This is a text-to-speech call from Vonage"
}
]A Biblioteca de Clientes Java da Vonage oferece classes que permitem criar um NCCO. Você utilizará a Ncco e TalkAction para criar o NCCO.
Adicione o seguinte ao main método, resolvendo todas as importações:
TalkAction intro = TalkAction.builder("This is a text-to-speech call from Vonage").build();
Ncco ncco = new Ncco(intro); Faça a ligação
A VoiceClient contém um método chamado createCall que espera um com.nexmo.client.voice.Call. O Call objeto é usado para definir de qual número você está ligando, para quem deseja ligar e o NCCO para controlar a chamada.
Crie um novo Call objeto no main método e chame o createCall método com o objeto criado, resolvendo todas as importações:
Call call = new Call(TO_NUMBER, NEXMO_NUMBER, ncco);
voiceClient.createCall(call); Teste seu aplicativo
Inicie seu aplicativo com o gradle run comando dentro do seu make-tts-call diretório. Você deverá receber uma ligação do seu número da Vonage.

Assim que você atender essa chamada, a Voice API da Vonage reproduzirá a mensagem: “Esta é uma chamada com conversão de texto em fala da Vonage.”
Conclusão
Com apenas algumas linhas de código, você criou um aplicativo capaz de ligar para um destinatário e reproduzir uma mensagem.
Confira nossa documentação sobre Vonage Developer , onde você poderá saber mais sobre fluxo de chamadas ou Objetos de Controle de Chamadas da Nexmo. Confira nossos trechos de código da Nexmo para Java para exemplos completos de código sobre este tutorial e muito mais.
Compartilhar:
Steve se autodenomina “Mathlete” e “Rei da Ironia”. Ele também é apaixonado por galgos, quebra-cabeças de torção e jogos de tabuleiro europeus. Quando não está falando de matemática para quem não entende de matemática, nem de Java para quem não entende de Java, ele pode ser encontrado tomando café e programando.