Speak-Methode

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

Beschreibung

Spricht den angegebenen Text oder die angegebene Audiodatei für das angegebene Zeichen.

Syntax

Agent**. Zeichen ("CharacterID"). Speak** [Text], [Url]

Teil BESCHREIBUNG
Text Optional. Eine Zeichenfolge, die angibt, was das Zeichen sagt.
Url Optional. Ein Zeichenfolgenausdruck, der den Speicherort einer Audiodatei angibt (. WAV oder . LWV-Format). Der Speicherort kann als Datei (einschließlich einer UNC-Pfadspezifikation) oder URL (wenn Zeichenanimationsdaten auch über das HTTP-Protokoll abgerufen werden) angegeben werden.

 

Bemerkungen

Obwohl die Parameter Text und Url optional sind, muss einer davon angegeben werden. Um diese Methode mit einem Zeichen zu verwenden, das so konfiguriert ist, dass es nur in seiner Wortsprechblase spricht, oder eine TTS-Engine (Text-to-Speech) verwenden möchten, geben Sie einfach den Text-Parameter an. Fügen Sie einen Abstand zwischen Wörtern ein, um geeignete Wortumbrüche in der Wortsprechblase zu definieren, auch für Sprachen, die traditionell keine Leerzeichen enthalten.

Sie können auch vertikale Balkenzeichen (|) in den Text-Parameter einschließen, um alternative Zeichenfolgen festzulegen, sodass der Server bei jeder Verarbeitung der Methode zufällig eine andere Zeichenfolge auswäht.

Die Zeichenunterstützung der TTS-Ausgabe wird definiert, wenn das Zeichen mithilfe des Microsoft-Agent-Zeichen-Editors kompiliert wird. Zum Generieren einer TTS-Ausgabe muss vor dem Aufrufen dieser Methode bereits eine kompatible TTS-Engine installiert sein. Weitere Informationen finden Sie unter Zugreifen auf Speech-Dienste.

Wenn Sie aufgezeichnete Sounddatei (. WAV oder . Nur LWV-Format) ausgabe für das Zeichen. Geben Sie den Speicherort der Datei im Url-Parameter an. Diese Dateispezifikation kann einen lokalen (absoluten oder relativen) oder UNC-Pfad (Universal Naming Convention) enthalten. Der Dateiname darf keine Zeichen enthalten, die nicht in der US-Codepage 1252 enthalten sind. Wenn Sie jedoch das HTTP-Protokoll für den Zugriff auf die Zeichenanimationsdaten verwenden, verwenden Sie die Get-Methode , um die Animation zu laden, bevor Sie die Speak-Methode aufrufen. Informationen zu Kreativen finden Sie unter Verwenden des Microsoft Linguistic Information Sound Editing-Tools . LWV-Dateien.

Wenn Sie die aufgezeichnete Sounddateiausgabe verwenden, können Sie weiterhin den Text-Parameter verwenden, um die Wörter anzugeben, die in der Wortsprechblase des Zeichens angezeigt werden. Wenn Sie jedoch eine linguistisch erweiterte Sounddatei (. LWV) für den Url-Parameter und keinen Text für die Wortsprechblase angeben, verwendet der Text-Parameter den in der Datei gespeicherten Text.

Sie können die Parameter der Sprachausgabe auch mit speziellen Tags variieren, die Sie im Text-Parameter einschließen. Weitere Informationen finden Sie unter Ausgabetags für Microsoft-Agent-Sprachausgabe.

Wenn Sie einen Objektverweis deklarieren und auf diese Methode festlegen, wird ein Request-Objekt zurückgegeben. Sie können dies verwenden, um andere Teile des Codes mit der gesprochenen Ausgabe des Zeichens zu synchronisieren, wie im folgenden Beispiel gezeigt:

   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

Sie können auch ein Request-Objekt verwenden, um bestimmte Fehlerbedingungen zu überprüfen. Wenn Sie beispielsweise die Speak-Methode verwenden, um zu sprechen und keine kompatible TTS-Engine installiert ist, legt der Server die Status-Eigenschaft des Request-Objekts auf "failed" mit seiner Description-Eigenschaft auf "Class not registered" oder "Unknown or object returned error" fest. Verwenden Sie die TTSModeID-Eigenschaft , um festzustellen, ob eine TTS-Engine installiert ist.

Wenn das Zeichen versucht, eine Audiodatei zu sprechen, und wenn die Datei nicht geladen wurde oder ein Problem mit dem Audiogerät vorliegt, legt der Server auch die Status-Eigenschaft des Request-Objekts auf "failed" mit einer entsprechenden Fehlercodenummer fest.

Sie können auch Textsprechtags als Lesezeichen einfügen, um Ihren Code zu synchronisieren:

   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

Weitere Informationen zum Lesezeichen-Sprachtag finden Sie unter Sprachausgabetags.

Die Speak-Methode verwendet die zuletzt wiedergegebene Aktion, um zu bestimmen, welche Sprechanimation wiedergegeben werden soll. Wenn Sie z. B. dem Befehl "Sprechen" eine "GestureRight"-Wiedergabe vorangestellt haben, gibt der Server GesteRight und dann die Sprachanimation GesteRight wieder. Wenn die zuletzt wiedergegebene Animation keine Sprechanimation aufweist, gibt der Agent die Animation wieder, 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 in der Wortsprechblase angezeigt.

Der automatische Wortumbruch des Agents in der Wortsprechblase unterbricht Wörter mithilfe von Leerzeichen (z. B. Leerzeichen oder TAB). Wenn dies jedoch nicht der Vorgang ist, kann es sein, dass ein Wort an den Sprechblasen angepasst wird. In Sprachen wie Japanisch, Chinesisch und Thailändisch, in denen Leerzeichen nicht zum Unterbrechen von Wörtern verwendet werden, fügen Sie ein Unicode-Leerzeichen (0x200B) zwischen Zeichen ein, um logische Wortumbrüche zu definieren.

Hinweis

Die Enabled-Eigenschaft der Wortsprechblase muss auch True sein, damit Text angezeigt werden kann.

 

Hinweis

Legen Sie die Sprach-ID des Zeichens fest (indem Sie die LanguageID des Zeichens festlegen, bevor Sie die Speak-Methode verwenden, um eine geeignete Textanzeige innerhalb der Wortsprechblase sicherzustellen.

 

Weitere Informationen

Bookmark-Ereignis, RequestStart-Ereignis, RequestComplete-Ereignis