Compartilhar via


Método Speak

[O Microsoft Agent foi preterido a partir do Windows 7 e pode não estar disponível em versões subsequentes do Windows.]

Descrição

Fala o arquivo de texto ou som especificado para o caractere especificado.

Sintaxe

agente**. Personagens ("CharacterID"). Fala** [texto], [url]

Peça Descrição
de texto Opcional. Uma cadeia de caracteres que especifica o que o caractere diz.
URL Opcional. Uma expressão de cadeia de caracteres que especifica o local de um arquivo de áudio (. WAV ou . formato LWV). O local pode ser especificado como um arquivo (incluindo uma especificação de caminho UNC) ou URL (quando os dados de animação de caracteres também estão sendo recuperados via protocolo HTTP).

 

Comentários

Embora os parâmetros Text e Url sejam opcionais, um deles deve ser fornecido. Para usar esse método com um caractere configurado para falar apenas em seu balão de palavras ou usando um mecanismo de conversão de texto em fala (TTS), basta fornecer o Text parâmetro. Inclua um espaço entre palavras para definir quebras de palavras apropriadas no balão de palavras, mesmo para idiomas que tradicionalmente não incluem espaços.

Você também pode incluir caracteres de barra vertical (|) no parâmetro Text para designar cadeias de caracteres alternativas, para que o servidor escolha aleatoriamente uma cadeia de caracteres diferente cada vez que processa o método.

O suporte a caracteres da saída TTS é definido quando o caractere é compilado usando o Editor de Caracteres do Microsoft Agent. Para gerar saída TTS, um mecanismo TTS compatível já deve estar instalado antes de chamar esse método. Para obter mais informações, consulte Acessando serviços de fala.

Se utilizar um ficheiro de som gravado (. WAV ou . LWV format) para o caractere, especifique o local do arquivo no parâmetro Url. Essa especificação de arquivo pode incluir um caminho local (absoluto ou relativo) ou UNC (convenção universal de nomenclatura). O nome do arquivo não pode incluir caracteres não incluídos na página de código dos EUA 1252. No entanto, se você estiver usando o protocolo HTTP para acessar os dados de animação de caracteres, use o método Get para carregar a animação antes de chamar o método Speak. Consulte Usando a Ferramenta de Edição de Som de Informações Linguísticas da Microsoft para obter informações sobre criativos . Arquivos LWV.

Ao usar a saída de arquivo de som gravado, você ainda pode usar o parâmetro Text para especificar as palavras que aparecem no balão de palavras do caractere. No entanto, se especificar um ficheiro de som melhorado linguisticamente (. LWV) para o parâmetro Url e não especificar texto para a palavra balão, o parâmetro Text usa o texto armazenado no arquivo.

Você também pode variar os parâmetros da saída de fala com tags especiais que você inclui no parâmetro Text. Para obter mais informações, consulte Marcas de saída de fala do Microsoft Agent.

Se você declarar uma referência de objeto e defini-la para esse método, ele retornará um objetoRequest. Você pode usar isso para sincronizar outras partes do seu código com a saída falada do personagem, como no exemplo a seguir:

   Dim SpeakRequest as Object
...
   Set SpeakRequest = Genie.Speak ("And here it is.")
...
   Sub Agent1_RequestComplete (ByVal Request as Object)
   ' Make certain the request exists
   If SpeakRequest Not Nothing Then
      ' See if it was this request
      If Request = SpeakRequest Then
         ' Display the message box 
         Msgbox "Ta da!"
      End If
   End If
   End Sub

Você também pode usar um objeto Request para verificar determinadas condições de erro. Por exemplo, se você usar o método Speak para falar e não tiver um mecanismo TTS compatível instalado, o servidor definirá a propriedade RequestStatus do objeto como "failed" com sua propriedade Description como "Class not registered" ou "Unknown or object returned error". Para determinar se você tem um mecanismo TTS instalado, use a propriedade TTSModeID.

Da mesma forma, se você tiver o caractere tentando falar um arquivo de som e se o arquivo não tiver sido carregado ou houver um problema com o dispositivo de áudio, o servidor também definirá a propriedadeStatusdo objeto Request como "failed" com um número de código de erro apropriado.

Você também pode incluir tags de fala de favoritos no texto do Speak para sincronizar seu código:

   Dim SpeakRequest as Object
...
   Set SpeakRequest = Genie.Speak ("And here \mrk=100\it is.")
...
   Sub Agent1_Bookmark (ByVal BookmarkID As Long)
   If BookmarkID = 100 Then
      ' Display the message box 
         Msgbox "Tada!"
      End If
   End Sub

Para obter mais informações sobre a marca de fala do indicador, consulte Tags de saída de fala.

O método Speak usa a última ação reproduzida para determinar qual animação de fala deve ser reproduzida. Por exemplo, se você precedeu o comando Speak com um Play "GestureRight", o servidor reproduzirá GestureRight e, em seguida, a animação GestureRight falando. Se a última animação reproduzida não tiver animação de fala, o Agente reproduz a animação atribuída ao estado de de Fala do personagem.

Se você chamar Speak e o canal de áudio estiver ocupado, a saída de áudio do personagem não será ouvida, mas o texto será exibido no balão de palavras.

A quebra automática de palavras do agente no balão de palavras quebra palavras usando caracteres de espaço em branco (por exemplo, Espaço ou Tabulação). No entanto, se não puder, pode quebrar uma palavra para caber no balão. Em idiomas como japonês, chinês e tailandês, onde os espaços não são usados para quebrar palavras, insira um caractere de espaço de largura zero (0x200B) Unicode entre os caracteres para definir quebras de palavras lógicas.

Observação

A propriedadeEnabled do balão da palavra também deve estar True para que o texto seja exibido.

 

Observação

Defina o ID de idioma do caractere (definindo o LanguageID do caractere antes de usar o método Speak para garantir a exibição de texto apropriada dentro do balão de palavras.

 

Ver também

evento Bookmark, evento RequestStartevento RequestComplete