Freigeben über


Speak-Methode

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

Beschreibung

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

Syntax

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

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

 

Bemerkungen

Obwohl die parameter Text und URL optional sind, muss eine davon angegeben werden. Um diese Methode mit einem Zeichen zu verwenden, das so konfiguriert ist, dass es nur in seiner Wortsprechblase spricht oder ein TTS-Modul (Text-to-Speech) verwendet, stellen Sie einfach den Text Parameter bereit. Fügen Sie ein Leerzeichen zwischen Wörtern ein, um geeignete Wortumbrüche in der Wortsprechblase zu definieren, auch für Sprachen, die normalerweise keine Leerzeichen enthalten.

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

Die Zeichenunterstützung der TTS-Ausgabe wird definiert, wenn das Zeichen mithilfe des Microsoft Agent Character Editors kompiliert wird. Zum Generieren der TTS-Ausgabe muss bereits ein kompatibles TTS-Modul installiert sein, bevor diese Methode aufgerufen wird. Weitere Informationen finden Sie unter Zugreifen auf Sprachdienste.

Wenn Sie aufgezeichnete Sounddatei (. WAV oder . Nur LWV-Format) ausgabe für das Zeichen, geben Sie den Speicherort der Datei im parameter URL 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 Informationen finden Sie unter Verwenden des Microsoft Linguistic Information Sound Editing Tool. LWV-Dateien.

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

Sie können auch parameter der Sprachausgabe mit speziellen Tags variieren, die Sie im Text--Parameter einschließen. Weitere Informationen finden Sie unter Microsoft Agent Speech Output Tags.

Wenn Sie einen Objektverweis deklarieren und auf diese Methode festlegen, wird ein Request-Objekt zurückgegeben. Sie können dies verwenden, um andere Teile Ihres 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 nach bestimmten Fehlerbedingungen zu suchen. Wenn Sie z. B. die Speak-Methode verwenden und kein kompatibles TTS-Modul installiert haben, legt der Server die Request Object's Status-Eigenschaft auf "failed" mit der Description-Eigenschaft auf "Class not registered" oder "Unknown or object returned error" fest. Um festzustellen, ob ein TTS-Modul installiert ist, verwenden Sie die TTSModeID--Eigenschaft.

Wenn Sie versuchen, eine Sounddatei zu sprechen, und wenn die Datei nicht geladen wurde oder ein Problem mit dem Audiogerät vorliegt, legt der Server auch die Request Object's Status-Eigenschaft auf "failed" mit einer entsprechenden Fehlercodenummer fest.

Sie können auch Textmarken-Sprachtags in Ihren Sprechen-Text 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 letzte wiedergegebene Aktion, um zu bestimmen, welche Sprachanimation wiedergegeben werden soll. Wenn Sie z. B. dem Befehl Sprechen mit einem " "GestureRight" vorangestellt haben, wird der Server GestureRight- und dann die GestureRight sprechende Animation wiedergegeben. Wenn die letzte wiedergegebene Animation keine Sprachanimation aufweist, gibt der 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.

Der automatische Wortumbruch des Agents in der Wortsprechblase umbricht Wörter mithilfe von Leerzeichen (z. B. Leerzeichen oder TAB). Wenn dies jedoch nicht möglich ist, kann es ein Wort unterbrechen, um die Sprechblase zu passen. Fügen Sie in Sprachen wie Japanisch, Chinesisch und Thailändisch, bei denen Leerzeichen nicht zum Umbrechen von Wörtern verwendet werden, ein Unicode-Leerzeichen (0x200B) zwischen Zeichen ein, um logische Wortumbrüche zu definieren.

Anmerkung

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

 

Anmerkung

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

 

Siehe auch

Bookmark-Ereignis, RequestStart-Ereignis, RequestComplete-Ereignis