IAgentCharacter::Speak

[Microsoft Agent ist ab Windows 7 veraltet und in nachfolgenden Versionen von Windows möglicherweise nicht verfügbar.]

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

Spricht den Text oder die Sounddatei.

  • Gibt S_OK zurück, um anzugeben, dass der Vorgang erfolgreich war.

bszText

Der Text, den das Zeichen sprechen soll.

bszURL

Die URL (oder Dateispezifikation) einer Sounddatei, die für die gesprochene Ausgabe verwendet werden soll. Dies kann eine Standard-Sounddatei (. WAV) oder sprachlich erweiterte Sounddatei (. LWV).

pdwReqID

Adresse einer Variablen, die die Speak-Anforderungs-ID empfängt.

So verwenden Sie diese Methode mit einem Zeichen, das für das Sprechen mit einer TTS-Engine (Text-to-Speech) konfiguriert ist; geben Sie einfach den Parameter bszText an. Sie können vertikale Balkenzeichen (|) in den bszText-Parameter einschließen, um alternative Zeichenfolgen festzulegen, sodass bei jeder Verarbeitung der Methode durch den Server zufällig eine andere Zeichenfolge ausgewählt wird. Die Unterstützung der TTS-Ausgabe wird definiert, wenn das Zeichen mit dem Microsoft Agent-Zeichen-Editor kompiliert wird.

Wenn Sie die Sounddateiausgabe für das Zeichen verwenden möchten, geben Sie den Speicherort für die Datei im Parameter bszURL an. Wenn Sie das HTTP-Protokoll zum Herunterladen einer Sounddatei verwenden, verwenden Sie die Prepare-Methode , um die Verfügbarkeit der Datei sicherzustellen, bevor Sie diese Methode verwenden. Sie können den bszText-Parameter verwenden, um die Wörter anzugeben, die im Wortballon des Zeichens angezeigt werden. Wenn Sie eine sprachlich erweiterte Sounddatei angeben (. LWV) für den bszURL-Parameter und keinen Text angeben, verwendet der bszText-Parameter den in der Datei gespeicherten Text.

Die Speak-Methode verwendet die zuletzt wiedergegebene Animation, um zu bestimmen, welche Sprachanimation wiedergegeben werden soll. Wenn Sie z. B. dem Befehl Speak eine IAgentCharacter::P lay "GestureRight" vorangestellt haben, spielt der Server GesteRight und dann die Sprechende Animation von GestureRight ab. Wenn die zuletzt wiedergegebene Animation keine sprechende Animation aufweist, spielt Microsoft Agent die Animation ab, die dem Sprechenden Zustand des Charakters zugewiesen ist.

Wenn Sie Sprechen aufrufen und der Audiokanal ausgelastet ist, wird die Audioausgabe des Zeichens nicht gehört, aber der Text wird im Wortballon angezeigt. Die Enabled-Eigenschaft des Wortballons muss auch True sein, damit der Text angezeigt werden kann.

Der automatische Wortbruch des Microsoft-Agents im Wortballon unterbricht Wörter mithilfe von Leerzeichen (z. B. Leerzeichen und Registerkarte). Es kann jedoch auch ein Wort brechen, um den Ballon zu passen. Fügen Sie in Sprachen wie Japanisch, Chinesisch und Thailändisch, in denen Leerzeichen nicht zum Unterbrechen von Wörtern verwendet werden, ein Unicode-Leerzeichen (0x200B) zwischen Zeichen ein, um logische Wortumbrüche zu definieren.

Hinweis

Legen Sie die Sprach-ID des Zeichens fest (mit IAgentCharacterEx::SetLanguageID , bevor Sie die Speak-Methode verwenden, um sicherzustellen, dass der entsprechende Text im Wortballon angezeigt wird.

 

Weitere Informationen

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