Reproduzir a função de conversão de texto em fala durante uma ligação
Este trecho de código reproduz uma mensagem de conversão de texto em fala na chamada especificada.
Exemplo
Substitua as seguintes variáveis no código de exemplo:
| Chave | Descrição |
|---|---|
VOICE_CALL_ID | The UUID of the call leg. |
VOICE_TEXT | The text of the message to play into the call. |
VOICE_LANGUAGE | Language to use for the speech - see |
Pré-requisitos
Execute o seguinte comando no prompt do terminal para criar o arquivo ` JWT ` para autenticação:
export JWT=$(nexmo jwt:generate $PATH_TO_PRIVATE_KEY application_id=$NEXMO_APPLICATION_ID)Escreva o código
Adicione o seguinte ao arquivo ` play-tts-into-a-call.sh`:
curl -X PUT https://api.nexmo.com/v1/calls/$VOICE_CALL_ID/talk\
-H "Authorization: Bearer $JWT"\
-H "Content-Type: application/json"\
-d '{"text": "'"$VOICE_TEXT"'", "language": "'"$VOICE_LANGUAGE"'"}'Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
npm install @vonage/server-sdkCrie um arquivo chamado ` play-tts-into-a-call.js ` e insira o seguinte código:
const { Vonage } = require('@vonage/server-sdk');
const vonage = new Vonage({
applicationId: VONAGE_APPLICATION_ID,
privateKey: VONAGE_PRIVATE_KEY,
});Escreva o código
Adicione o seguinte ao arquivo ` play-tts-into-a-call.js`:
vonage.voice.playTTS(
VOICE_CALL_ID,
{
action: 'talk',
text: VOICE_TEXT,
language: 'en-US',
})
.then((resp) => console.log(resp))
.catch((error) => console.error(error));Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk-kotlin:2.1.1'Crie um arquivo chamado ` PlayTextToSpeechIntoCall ` e adicione o código a seguir ao método ` main `:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` PlayTextToSpeechIntoCall `:
val response = client.voice.call(VOICE_CALL_ID).startTalk(VOICE_TEXT) {
language(VOICE_LANGUAGE)
}Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.kt.voice ` pelo pacote que contém ` PlayTextToSpeechIntoCall`:
Pré-requisitos
Adicione o seguinte ao arquivo ` build.gradle`:
implementation 'com.vonage:server-sdk:9.3.1'Crie um arquivo chamado ` SendTalkToCall ` e adicione o código a seguir ao método ` main `:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Escreva o código
Adicione o seguinte ao método ` main ` do arquivo ` SendTalkToCall `:
var payload = TalkPayload.builder(VOICE_TEXT).language(VOICE_LANGUAGE).build();
client.getVoiceClient().startTalk(VOICE_CALL_ID, payload);Execute seu código
Podemos usar o plugin “ aplicativo ” para o Gradle a fim de simplificar a execução do nosso aplicativo. Atualize seu arquivo ` build.gradle ` com o seguinte:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''Execute o seguinte comando ` gradle ` para rodar seu aplicativo, substituindo ` com.vonage.quickstart.voice ` pelo pacote que contém ` SendTalkToCall`:
Pré-requisitos
Install-Package VonageEscreva o código
Adicione o seguinte ao arquivo ` PlayTextToSpeech.cs`:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APPLICATION_ID, VONAGE_PRIVATE_KEY_PATH);
var client = new VonageClient(credentials);
var command = new TalkCommand() { Text = VOICE_TEXT, Language = "en-US"};
var response = await client.VoiceClient.StartTalkAsync(VOICE_CALL_ID, command);Pré-requisitos
composer require vonage/clientEscreva o código
Adicione o seguinte ao arquivo ` index.php`:
require_once __DIR__ . '/../../vendor/autoload.php';
$keypair = new \Vonage\Client\Credentials\Keypair(file_get_contents(VONAGE_APPLICATION_PRIVATE_KEY_PATH), VONAGE_APPLICATION_ID);
$client = new \Vonage\Client($keypair);
$action = new \Vonage\Voice\NCCO\Action\Talk(TEXT);
$action->setLanguage('en-US');
$client->voice()->playTTS(
UUID,
$action
);Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
pip install vonage python-dotenvEscreva o código
Adicione o seguinte ao arquivo ` play-tts-into-call.py`:
from vonage import Auth, Vonage
from vonage_voice import CallMessage, TtsStreamOptions
client = Vonage(
Auth(
application_id=VONAGE_APPLICATION_ID,
private_key=VONAGE_PRIVATE_KEY,
)
)
response: CallMessage = client.voice.play_tts_into_call(
uuid=VOICE_CALL_ID,
tts_options=TtsStreamOptions(text=VOICE_TEXT, language=VOICE_LANGUAGE),
)
pprint(response)Execute seu código
Salve este arquivo no seu computador e execute-o:
Pré-requisitos
gem install sinatra sinatra-contribEscreva o código
Adicione o seguinte ao arquivo ` play-text-to-speech-into-a-call.rb`:
client = Vonage::Client.new(
application_id: VONAGE_APPLICATION_ID,
private_key: VONAGE_PRIVATE_KEY
)
response = client.voice.talk.start(VOICE_CALL_ID, text: VOICE_TEXT, language: VOICE_LANGUAGE)Execute seu código
Salve este arquivo no seu computador e execute-o:
Experimente
Ao executar o código, uma mensagem de conversão de texto em fala é reproduzida na chamada identificada pelo UUID especificado.
Leitura complementar
- Teleconferência - Este guia explica os dois Concepts que a Vonage associa a uma chamada: “leg” e “conversação”.