Controle de Tradução
A API Rybená oferece métodos completos para controlar a tradução de texto, incluindo alternância entre LIBRAS e voz, controle de reprodução e ajuste de velocidade.
Tradução de Texto
translate(text)
Traduz o texto especificado usando o modo de tradução atual (LIBRAS ou voz).
RybenaApi.getInstance().translate(text)Parâmetros:
text(string): O texto a ser traduzido
Retorno: void
Exemplo:
RybenaApi.getInstance().translate("Olá, bem-vindo à Rybená!");Modos de Tradução
switchToLibras()
Alterna para o modo de tradução em LIBRAS (Língua Brasileira de Sinais).
RybenaApi.getInstance().switchToLibras()Retorno: void
Atenção: Apenas o idioma Português contém a funcionalidade de tradução em LIBRAS.
Exemplo:
RybenaApi.getInstance().switchToLibras();
RybenaApi.getInstance().translate("Este texto será traduzido em LIBRAS");switchToVoz()
Alterna para o modo de tradução por voz (síntese de voz).
RybenaApi.getInstance().switchToVoz()Retorno: void
Exemplo:
RybenaApi.getInstance().switchToVoz();
RybenaApi.getInstance().translate("Este texto será lido em voz alta");Controle de Reprodução
pause()
Pausa a tradução atual. A tradução pode ser retomada de onde parou usando play().
RybenaApi.getInstance().pause()Retorno: void
Exemplo:
RybenaApi.getInstance().pause();play()
Retoma a tradução pausada. Se não houver tradução pausada, não faz nada.
RybenaApi.getInstance().play()Retorno: void
Exemplo:
RybenaApi.getInstance().play();stop()
Para a tradução atual e limpa o buffer de tradução. Diferente de pause(), stop() remove todo o conteúdo pendente de tradução.
RybenaApi.getInstance().stop()Retorno: void
Atenção: A diferença entre pause() e stop() é:
- pause(): Apenas pausa a Rybená, e quando executar
play()ela traduzirá de onde pausou - stop(): Limpa o buffer de tradução da Rybená, e quando executar
play()ela não reproduzirá nada
Exemplo:
RybenaApi.getInstance().stop();Velocidade de Tradução
setSpeed(speed)
Define a velocidade da tradução.
RybenaApi.getInstance().setSpeed(speed)Parâmetros:
speed(number): Velocidade da tradução (0.5 a 1.5)
Valores Aceitos:
| Valor | Descrição |
|---|---|
| 0.5 | Muito lento |
| 0.75 | Lento |
| 1.0 | Normal (padrão) |
| 1.25 | Rápido |
| 1.5 | Muito rápido |
Retorno: void
Exemplo:
// Velocidade normal
RybenaApi.getInstance().setSpeed(1.0);
// Velocidade rápida
RybenaApi.getInstance().setSpeed(1.5);
// Velocidade lenta
RybenaApi.getInstance().setSpeed(0.75);Exemplos Completos
Exemplo 1: Tradução Básica
Este exemplo mostra como traduzir um texto simples:
RybenaApi.getInstance().handleLoaded(() => {
// Mostra o player
RybenaApi.getInstance().openPlayer();
// Traduz um texto
RybenaApi.getInstance().translate("Bem-vindo à Rybená!");
});Exemplo 2: Alternância entre Modos
Este exemplo mostra como alternar entre LIBRAS e voz:
RybenaApi.getInstance().handleLoaded(() => {
RybenaApi.getInstance().openPlayer();
// Traduz em LIBRAS
RybenaApi.getInstance().switchToLibras();
RybenaApi.getInstance().translate("Este texto está em LIBRAS");
// Aguarda 3 segundos
setTimeout(() => {
// Traduz em voz
RybenaApi.getInstance().switchToVoz();
RybenaApi.getInstance().translate("Este texto está em voz");
}, 3000);
});Exemplo 3: Controle de Reprodução
Este exemplo mostra como controlar a reprodução da tradução:
RybenaApi.getInstance().handleLoaded(() => {
RybenaApi.getInstance().openPlayer();
// Traduz um texto longo
RybenaApi.getInstance().translate("Este é um texto longo que pode ser pausado e retomado durante a tradução.");
// Pausa após 2 segundos
setTimeout(() => {
RybenaApi.getInstance().pause();
console.log("Tradução pausada");
// Retoma após 2 segundos
setTimeout(() => {
RybenaApi.getInstance().play();
console.log("Tradução retomada");
}, 2000);
}, 2000);
});Exemplo 4: Ajuste de Velocidade
Este exemplo mostra como ajustar a velocidade da tradução:
RybenaApi.getInstance().handleLoaded(() => {
RybenaApi.getInstance().openPlayer();
// Traduz em velocidade lenta
RybenaApi.getInstance().setSpeed(0.75);
RybenaApi.getInstance().translate("Esta tradução está em velocidade lenta");
// Aguarda a tradução terminar
RybenaApi.getInstance().handleTranslate(() => {
// Traduz em velocidade rápida
RybenaApi.getInstance().setSpeed(1.5);
RybenaApi.getInstance().translate("Esta tradução está em velocidade rápida");
});
});Exemplo 5: Player de Tradução
Este exemplo cria um player de tradução completo com controles:
RybenaApi.getInstance().handleLoaded(() => {
RybenaApi.getInstance().openPlayer();
// Configura botões
document.getElementById('translateBtn').addEventListener('click', () => {
const text = document.getElementById('textInput').value;
if (text) {
RybenaApi.getInstance().translate(text);
}
});
document.getElementById('pauseBtn').addEventListener('click', () => {
RybenaApi.getInstance().pause();
});
document.getElementById('playBtn').addEventListener('click', () => {
RybenaApi.getInstance().play();
});
document.getElementById('stopBtn').addEventListener('click', () => {
RybenaApi.getInstance().stop();
});
document.getElementById('librasBtn').addEventListener('click', () => {
RybenaApi.getInstance().switchToLibras();
});
document.getElementById('vozBtn').addEventListener('click', () => {
RybenaApi.getInstance().switchToVoz();
});
// Controle de velocidade
document.getElementById('speedSlow').addEventListener('click', () => {
RybenaApi.getInstance().setSpeed(0.75);
});
document.getElementById('speedNormal').addEventListener('click', () => {
RybenaApi.getInstance().setSpeed(1.0);
});
document.getElementById('speedFast').addEventListener('click', () => {
RybenaApi.getInstance().setSpeed(1.5);
});
});Exemplo 6: Tradução em Sequência
Este exemplo mostra como traduzir múltiplos textos em sequência:
const texts = [
"Primeira frase",
"Segunda frase",
"Terceira frase"
];
let currentIndex = 0;
function translateNext() {
if (currentIndex < texts.length) {
RybenaApi.getInstance().translate(texts[currentIndex]);
currentIndex++;
}
}
RybenaApi.getInstance().handleLoaded(() => {
RybenaApi.getInstance().openPlayer();
// Traduz o próximo texto quando o anterior terminar
RybenaApi.getInstance().handleTranslate(() => {
translateNext();
});
// Começa a tradução
translateNext();
});Boas Práticas
Dica: Use handleTranslate() para executar ações após a tradução ser concluída, como traduzir o próximo texto em uma sequência.
Atenção: Lembre-se de que apenas o idioma Português suporta tradução em LIBRAS. Para outros idiomas, use sempre switchToVoz().
Sugestão: Para textos longos, considere dividi-los em partes menores e traduzir em sequência para melhor controle da experiência do usuário.
Resumo dos Métodos
| Método | Descrição | Parâmetros |
|---|---|---|
translate(text) | Traduz um texto | text (string) |
switchToLibras() | Alterna para modo LIBRAS | Nenhum |
switchToVoz() | Alterna para modo voz | Nenhum |
pause() | Pausa a tradução | Nenhum |
play() | Retoma a tradução | Nenhum |
stop() | Para e limpa a tradução | Nenhum |
setSpeed(speed) | Define velocidade | speed (number: 0.5-1.5) |