IAgentCharacter::Speak
[Microsoft Agent est déconseillé à partir de Windows 7 et peut ne pas être disponible 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 fichier texte ou 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 demande 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 barre verticale (|) dans le paramètre bszText pour désigner d’autres chaînes, de sorte que chaque fois que le serveur traite la méthode, il choisit une chaîne différente de façon aléatoire. 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 de l’agent Microsoft.
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 linguistiquement amélioré (. 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 lue pour déterminer l’animation orale à lire. Par exemple, si vous précèdez la commande Speak d’un IAgentCharacter::P lay « GestureRight », le serveur lira GestureRight , puis l’animation de la parole GestureRight . Si la dernière animation jouée n’a pas d’animation orale, Microsoft Agent lit l’animation affectée à l’état De parole du personnage.
Si vous appelez Speak et que le canal audio est occupé, la sortie audio du caractère ne sera pas entendue, mais le texte s’affichera dans la bulle de mot. La propriété Enabled du mot bulle doit également avoir la valeur True pour que le texte s’affiche.
La coupure automatique de mots de Microsoft Agent dans la bulle de mots, interrompt les mots à l’aide de caractères d’espace blanc (par exemple, espace et tabulation). Toutefois, il peut briser un mot pour s’adapter au ballon ainsi. Dans les langues telles que le japonais, le chinois et le thaï, où les espaces ne sont pas utilisés pour briser les mots, insérez un caractère d’espace unicode de largeur zéro (0x200B) entre les caractères pour définir des sauts de mots logiques.
Notes
Définissez l’ID de langue du caractère (à l’aide de IAgentCharacterEx::SetLanguageID avant d’utiliser la méthode Speak pour garantir un affichage approprié du texte dans la bulle de mots.
Voir aussi
IAgentCharacter::P lay, IAgentBalloon::GetEnabled, IAgentCharacter::P repare