Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
[Microsoft Agent är inaktuell från och med Windows 7 och kan vara otillgänglig i efterföljande versioner av Windows.]
-
Beskrivning
-
Talar om den angivna texten eller ljudfilen för det angivna tecknet.
-
syntax
-
agent**. Tecken ("CharacterID"). Speak** [Text], [URL]
Del Beskrivning Text Valfri. En sträng som anger vad tecknet säger. URL- Valfri. Ett stränguttryck som anger platsen för en ljudfil (. WAV eller . LWV-format). Platsen kan anges som en fil (inklusive en UNC-sökvägsspecifikation) eller URL (när teckenanimeringsdata också hämtas via HTTP-protokoll).
Anmärkningar
Även om parametrarna Text och URL är valfria måste en av dem anges. Om du vill använda den här metoden med ett tecken som bara är konfigurerat för att tala i dess ordballong eller med hjälp av en text-till-tal-motor (TTS) anger du helt enkelt parametern Text. Inkludera ett blanksteg mellan ord för att definiera lämpliga ordbrytningar i ordballongen, även för språk som inte traditionellt innehåller blanksteg.
Du kan också inkludera lodräta stapeltecken (|) i parametern Text för att ange alternativa strängar, så att servern slumpmässigt väljer en annan sträng varje gång metoden bearbetas.
Teckenstöd för TTS-utdata definieras när tecknet kompileras med hjälp av Microsoft Agent Character Editor. För att generera TTS-utdata måste en kompatibel TTS-motor redan vara installerad innan den här metoden anropas. Mer information finns i Accessing Speech Services.
Om du använder inspelad ljudfil (. WAV eller . Endast LWV-format) för tecknet, ange filens plats i parametern URL. Den här filspecifikationen kan innehålla en lokal (absolut eller relativ) eller unc-sökväg (Universal Naming Convention). Filnamnet får inte innehålla några tecken som inte ingår på den amerikanska kodsidan 1252. Men om du använder HTTP-protokollet för att komma åt teckenanimeringsdata använder du metoden Get för att läsa in animeringen innan du anropar metoden Speak. Mer information om kreativa finns i Med hjälp av Microsofts ljudredigeringsverktyg för språkinformation . LWV-filer.
När du använder inspelade ljudfilsutdata kan du fortfarande använda parametern Text för att ange de ord som visas i tecknets ordballong. Men om du anger en språkligt förbättrad ljudfil (. LWV) för parametern URL och inte anger text för ordballongen, använder parametern Text den text som lagras i filen.
Du kan också variera parametrarna för talutdata med särskilda taggar som du inkluderar i parametern Text. Mer information finns i Microsoft Agent Speech Output Tags.
Om du deklarerar en objektreferens och anger den till den här metoden returneras ett begärandeobjekt objekt. Du kan använda detta för att synkronisera andra delar av koden med tecknets talade utdata, som i följande exempel:
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
Du kan också använda ett request-objekt för att söka efter vissa felvillkor. Om du till exempel använder metoden Speak för att tala och inte har en kompatibel TTS-motor installerad, anger servern egenskapen Request object's Status till "failed" med egenskapen Description till "Class not registered" eller "Unknown or object returned error". Om du vill ta reda på om du har en TTS-motor installerad använder du egenskapen TTSModeID.
På samma sätt, om du har teckenförsöket att tala en ljudfil, och om filen inte har lästs in eller om det finns ett problem med ljudenheten, anger servern också Request-objektets Status-egenskap till "failed" med ett lämpligt felkodnummer.
Du kan också inkludera taltaggar för bokmärken i texten Tala om du vill synkronisera koden:
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
Mer information om taltaggen för bokmärken finns i Talutdatataggar.
Metoden Speak använder den senaste åtgärden som spelades upp för att avgöra vilken talande animering som ska spelas upp. Om du till exempel föregick kommandot Speak med ett Play "GestureRight" spelar servern upp GestureRight och sedan GestureRight talanimering. Om den senaste animeringen som spelades upp inte har någon talanimation spelar Agent upp animeringen som tilldelats tecknets Speaking state.
Om du anropar Tala och ljudkanalen är upptagen hörs inte tecknets ljudutdata, men texten visas i ordballongen.
Agentens automatiska ordbrytning i ordet pratbubblan bryter ord med blankstegstecken (till exempel Blanksteg eller flik). Men om det inte kan det kan det bryta ett ord för att passa ballongen. I språk som japanska, kinesiska och thailändska, där blanksteg inte används för att bryta ord, infogar du ett Unicode-blanksteg med noll bredd (0x200B) mellan tecken för att definiera logiska ordbrytningar.
Not
Egenskapen Aktiverad måste också vara Sant för att text ska kunna visas.
Not
Ange tecknets språk-ID (genom att ange tecknets LanguageID- innan du använder metoden Speak för att säkerställa lämplig textvisning i ordballongen.
Se även
bookmark event, RequestStart event, RequestComplete event