我需要让Cortana阅读我所有的提示,到目前为止,我成功地让它说出了下面这个例子中的简单短语:
[LuisIntent("Thanks")]
public async Task Thanks(IDialogContext context, IAwaitable<IMessageActivity> activity, LuisResult result)
{
await context.SayAsync(text: Phrases.YOURE_WELCOME, speak: Phrases.YOURE_WELCOME);
context.Wait(this.MessageReceived);
}
但我不能在PromptDialogs.Text上这样做,我有这样的代码:
private async Task OnCustomerSet(IDialogContext context, IAwaitable<string> result)
{
string name = await result;
PromptDialog.Text(context, OnNIFSet, Phrases.ASK_CUSTOMER_NIF);
}
我怎样才能让Cortana也说出这个提示呢?
谢谢。
发布于 2018-06-04 20:33:35
您可以向prompt选项中添加一个speak属性,并使用SSML Helper来读出提示对话框。
var promptOptions = new PromptOptions<string>(
Resources.ChooseSides,
choices: choices,
descriptions: descriptions,
speak: SSMLHelper.Speak(Utils.RandomPick(Resources.ChooseSidesSSML))); // spoken prompt
PromptDialog.Choice(context, this.DiceChoiceReceivedAsync, promptOptions);
有关详细信息和GitHub Sample,请参阅doc。如果您需要更多帮助,请询问;)
https://stackoverflow.com/questions/50679779
复制相似问题