Partager via


IAgentCharacter ::Speak

[Microsoft Agent est déconseillé à partir de Windows 7 et peut être indisponible dans les versions ultérieures de Windows.]

HRESULT Speak(
   BSTR bszText,    // text to speak
   BSTR bszURL,     // URL of a file to speak
   long * pdwReqID  // address of a request ID
);

Parle le texte ou le fichier audio.

  • Retourne S_OK pour indiquer que l’opération a réussi.

bszText

Texte que le caractère doit parler.

bszURL

URL (ou spécification de fichier) d’un fichier audio à utiliser pour la sortie parlée. Il peut s’agir d’un fichier audio standard (. WAV) ou fichier audio amélioré linguistiquement (. LWV).

pdwReqID

Adresse d’une variable qui reçoit l’ID de requête Speak.

Pour utiliser cette méthode avec un caractère configuré pour parler à l’aide d’un moteur de synthèse vocale (TTS) ; fournissez simplement le paramètre bszText. Vous pouvez inclure des caractères de barre verticale (|) dans le paramètre bszText pour désigner des chaînes alternatives, afin que chaque fois que le serveur traite la méthode, il choisit de façon aléatoire une autre chaîne. La prise en charge de la sortie TTS est définie lorsque le caractère est compilé à l’aide de l’Éditeur de caractères Microsoft Agent.

Si vous souhaitez utiliser la sortie du fichier audio pour le caractère, spécifiez l’emplacement du fichier dans le paramètre bszURL. Lorsque vous utilisez le protocole HTTP pour télécharger un fichier audio, utilisez la méthode Prepare pour garantir la disponibilité du fichier avant d’utiliser cette méthode. Vous pouvez utiliser le paramètre bszText pour spécifier les mots qui apparaissent dans la bulle de mots du caractère. Si vous spécifiez un fichier audio amélioré linguistiquement (. LWV) pour le paramètre bszURL et ne spécifiez pas de texte, le paramètre bszText utilise le texte stocké dans le fichier.

La méthode Speak utilise la dernière animation jouée pour déterminer l’animation parlante à lire. Par exemple, si vous précédez la commande Speak avec un IAgentCharacter ::P lay «GestureRight», le serveur joue GestureRight, puis l’animation GestureRight parlant. Si la dernière animation jouée n’a pas d’animation parlante, Microsoft Agent lit l’animation affectée à l’état parlant.

Si vous appelez Speak et que le canal audio est occupé, la sortie audio du caractère n’est pas entendue, mais le texte s’affiche dans la bulle de mots. La propriété Enabled de la bulle de mots doit également être True pour que le texte s’affiche.

Le mot automatique de Microsoft Agent cassant dans le ballon de mots, interrompt les mots à l’aide de caractères d’espace blanc (par exemple, espace et onglet). Toutefois, il peut briser un mot pour s’adapter également au ballon. Dans les langues telles que le japonais, le chinois et le thaï, où les espaces ne sont pas utilisés pour interrompre les mots, insérez un caractère d’espace de largeur zéro Unicode (0x200B) entre les caractères pour définir des sauts de mots logiques.

Note

Définissez l’ID de langue du caractère (à l’aide de IAgentCharacterEx ::SetLanguageID avant d’utiliser la méthode Speak pour garantir l’affichage de texte approprié dans la bulle de mots.

 

Voir aussi

IAgentCharacter ::P lay, IAgentBalloon ::GetEnabled, IAgentCharacter ::P repare