List icon Conteúdo

Reconhecimento de voz

Este tutorial demonstra como ativar o reconhecimento de voz no JxBrowser.

Ativar a API Speech

O reconhecimento de voz é uma funcionalidade proprietária do Chromium que requer uma chave da API do Google para funcionar corretamente. Antes de adquirir essa chave, é necessário ativar primeiro a API Speech privada:

  1. Esta API é visível apenas para as pessoas inscritas no Grupo Google chromium-dev. Ao aderir, certifique-se de que a opção Link para o perfil da minha conta Google está selecionada.
  2. Acesse o console do Google Cloud. Certifique-se de que tem sessão iniciada com a conta Google associada ao endereço de e-mail que você utilizou para se inscrever no grupo “chromium-dev”.
  3. Na barra superior, crie um novo projeto para a sua aplicação ou selecione um já existente.
  4. Acesse APIs e serviços > Biblioteca no menu hambúrguer.
  5. Localize e ative a “API de voz”, NÃO a “API de voz para texto na nuvem”. Se não for encontrada nenhuma API, volte à página Library e escolha Private na seção Visibility à esquerda. Todas as APIs privadas estarão visíveis para você.

Speech API

O aparecimento de APIs privadas após a subscrição do grupo pode demorar algum tempo (até 15 minutos).

Aquisição de credenciais

Agora você está pronto para adquirir as credenciais que devem ser passadas para EngineOptions:

Java
Kotlin
var options = EngineOptions.newBuilder(HARDWARE_ACCELERATED)
        .googleApiKey("key")
        .googleDefaultClientId("client-id")
        .googleDefaultClientSecret("secret")
        .build();
var engine = Engine.newInstance(options);
val engine = Engine(HARDWARE_ACCELERATED) {
      google {
         apiKey = "key"
         defaultClientId = "client-id"
         defaultClientSecret = "secret"
      }
}
  1. Acesse APIs e serviços > Credenciais no menu hambúrguer.
  2. Clique no botão CRIAR CREDENCIAIS e selecione o item OAuth client ID na lista. Na seção Tipo de aplicação, selecione a Aplicação desktop e digite um nome na caixa de texto Nome, e clique em Criar.
  3. Na janela de pop-up, você verá um ID de cliente e uma string secreta de cliente. Essas devem ser passadas para os métodos googleDefaultClientId e googleDefaultClientSecret, respectivamente.
  4. Clique novamente no botão CRIAR CREDENCIAIS na mesma página. Selecione o item chave API. Deve aparecer um pop-over com a string de chaves da API. Ela deve ser passada para o método googleApiKey.

Tenha em mente que a ativação da API e a aquisição de credenciais não é uma ação imediata. No Google Cloud, demora algum tempo a aplicar essas definições para que você possa utilizá-las. A plataforma até mesmo avisa isso quando você cria as credenciais.

Criar Credenciais de Cliente

Concessão de permissões

Para permitir que o Chromium reconheça a sua voz, é necessário conceder acesso para gravar áudio:

Java
Kotlin
engine.permissions().set(RequestPermissionCallback.class, 
                         (params, tell) -> {
                            if (params.permissionType() == AUDIO_CAPTURE) {
                                tell.grant();
                            } else {
                                tell.deny();
                            }
                          });
engine.permissions().set(RequestPermissionCallback::class.java) { params, tell ->
   if (params.permissionType() === AUDIO_CAPTURE) {
      tell.grant()
   } else {
      tell.deny()
   }
}

Consulte o código completo snippet.