Freigeben über


IAgentCharacter::Speak

[Der Microsoft-Agent ist ab Windows 7 veraltet und kann in nachfolgenden Versionen von Windows nicht verfügbar sein.]

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

Spricht die Text- oder Audiodatei.

  • 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 Audiodatei, die für die gesprochene Ausgabe verwendet werden soll. Dies kann eine Standardsounddatei (. WAV) oder sprachlich erweiterte Sounddatei (. LWV).

pdwReqID-

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

Um diese Methode mit einem Zeichen zu verwenden, das für die Verwendung eines TtS-Moduls (Text-zu-Sprache) konfiguriert ist; Geben Sie einfach den bszText Parameter an. Sie können vertikale Balkenzeichen (|) in den bszText Parameter einschließen, um alternative Zeichenfolgen festzulegen, sodass bei jeder Verarbeitung der Methode vom Server zufällig eine andere Zeichenfolge ausgewählt wird. Die Unterstützung der TTS-Ausgabe wird definiert, wenn das Zeichen mithilfe des Microsoft Agent Character Editors kompiliert wird.

Wenn Sie die Sounddateiausgabe für das Zeichen verwenden möchten, geben Sie den Speicherort für die Datei im bszURL Parameter an. Wenn Sie das HTTP-Protokoll zum Herunterladen einer Audiodatei 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 in der Wortsprechblase 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 letzte wiedergegebene Animation, um zu bestimmen, welche Sprachanimation wiedergegeben werden soll. Wenn Sie z. B. dem Befehl Sprechen mit einem IAgentCharacter::P lay "GestureRight" vorangehen, wird der Server GestureRight und dann die GestureRight sprechende Animation wiedergegeben. Wenn die letzte wiedergegebene Animation keine Sprachanimation aufweist, gibt Der Microsoft-Agent die Animation wieder, die dem Sprechenden Zustand des Zeichens zugewiesen ist.

Wenn Sie "Sprechen" anrufen und der Audiokanal ausgelastet ist, wird die Audioausgabe des Zeichens nicht gehört, aber der Text wird in der Wortsprechblase angezeigt. Die Eigenschaft "Enabled" der Wortsprechblase muss auch True sein, damit der Anzuzeigende Text angezeigt werden kann.

Der automatische Wortumbruch in der Wortsprechblase von Microsoft Agent unterbricht Wörter mit Leerzeichen (z. B. Leerzeichen und Tabstopp). Es kann jedoch auch ein Wort unterbrechen, um die Sprechblase zu passen. Fügen Sie in Sprachen wie Japanisch, Chinesisch und Thailändisch, in denen Leerzeichen nicht zum Umbrechen von Wörtern verwendet werden, ein Leerzeichen mit Unicode-Breite (0x200B) zwischen Zeichen ein, um logische Wortumbrüche zu definieren.

Anmerkung

Legen Sie die Sprach-ID des Zeichens fest (mit IAgentCharacterEx::SetLanguageID, bevor Sie die Speak-Methode verwenden, um die entsprechende Textanzeige innerhalb der Wortsprechblase sicherzustellen.

 

Siehe auch

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