IAgentCharacter::Speak
[Microsoft Agent è deprecato a partire da Windows 7 e potrebbe non essere disponibile nelle versioni successive di Windows.]
HRESULT Speak(
BSTR bszText, // text to speak
BSTR bszURL, // URL of a file to speak
long * pdwReqID // address of a request ID
);
Pronuncia il testo o il file audio.
- Restituisce S_OK per indicare che l'operazione è riuscita.
-
bszText
-
Il testo che il carattere deve pronunciare.
-
bszURL
-
URL (o specifica di file) di un file audio da usare per l'output parlato. Può trattarsi di un file audio standard (. WAV) o file audio migliorato in modo linguistico (. LWV).
-
pdwReqID
-
Indirizzo di una variabile che riceve l'ID richiesta Speak .
Per usare questo metodo con un carattere configurato per parlare usando un motore TTS (Text-to-Speech); specificare semplicemente il parametro bszText . È possibile includere caratteri barra verticale (|) nel parametro bszText per designare stringhe alternative, in modo che ogni volta che il server elabora il metodo, sceglie in modo casuale una stringa diversa. Il supporto dell'output TTS viene definito quando il carattere viene compilato usando l'Editor caratteri di Microsoft Agent.
Se si vuole usare l'output del file audio per il carattere, specificare il percorso del file nel parametro bszURL . Quando si usa il protocollo HTTP per scaricare un file audio, usare il metodo Prepare per garantire la disponibilità del file prima di usare questo metodo. È possibile utilizzare il parametro bszText per specificare le parole visualizzate nel fumetto delle parole del carattere. Se si specifica un file audio migliorato in modo linguistico (. LWV) per il parametro bszURL e non specificare il testo, il parametro bszText usa il testo archiviato nel file.
Il metodo Speak usa l'ultima animazione riprodotta per determinare quale animazione parla riprodurre. Ad esempio, se si precede il comando Speak con un IAgentCharacter::P lay "GestureRight", il server eseguirà GestureRight e quindi l'animazione di pronuncia GestureRight . Se l'ultima animazione riprodotta non ha un'animazione parlante, Microsoft Agent riproduce l'animazione assegnata allo stato Di parlare del carattere.
Se chiami Speak e il canale audio è occupato, l'output audio del carattere non verrà sentito, ma il testo verrà visualizzato nel fumetto delle parole. Anche la proprietà Enabled della parola balloon deve essere Impostata su True per visualizzare il testo.
L'interruzione automatica delle parole nel fumetto delle parole di Microsoft Agent interrompe le parole usando spazi vuoti (ad esempio, spazio e tabulazioni). Tuttavia, può rompere una parola per adattare anche il palloncino. Nelle lingue come giapponese, cinese e thai, in cui gli spazi non vengono usati per interrompere le parole, inserire un carattere di spazio di larghezza zero Unicode (0x200B) tra i caratteri per definire interruzioni di parola logiche.
Nota
Impostare l'ID lingua del carattere (usando IAgentCharacterEx::SetLanguageID prima di usare il metodo Speak per garantire la visualizzazione del testo appropriata all'interno dell'area delle parole.
Vedere anche
IAgentCharacter::P lay, IAgentBalloon::GetEnabled, IAgentCharacter::P repare