Cortana回复而不是App启动

时间:2015-06-30 19:33:48

标签: c# windows-runtime windows-phone-8.1 cortana

好的,我有一个支持Cortana的应用程序。 我有一些命令导航到特定页面。但在某些情况下,我只想提供一个回复(文本或由Cortana发音),而不是启动整个应用程序。有没有办法做到这一点?

例如,当你问Cortana “什么是美国的资本?”时,她只会回复你“华盛顿”。我想做那样的事。

2 个答案:

答案 0 :(得分:2)

查看此tutorial的底部,详细说明如何设置她所说和所显示的内容。

基本上你需要有一个后台任务,它可以从语音命令执行,然后在执行过程中你需要创建一个VoiceCommandUserMessage

使用VoiceServiceConnection

抓取taskInstance.TriggerDetails
    voiceServiceConnection = 
      VoiceCommandServiceConnection.FromAppServiceTriggerDetails(
        triggerDetails); 

等待语音命令完成

    VoiceCommand voiceCommand = await voiceServiceConnection.GetVoiceCommandAsync();

然后添加

VoiceCommandUserMessage userMessage = new VoiceCommandUserMessage();
userMessage.DisplayMessage = "Here’s your trip.";
userMessage.SpokenMessage = "Your trip to Vegas is on August 3rd.";

将其包装在回复中

var response = 
  VoiceCommandResponse.CreateResponse(
    userMessage);

最后,让Cortana展示它:

await voiceServiceConnection.ReportSuccessAsync(response);

另请查看design guidelines for cortana

答案 1 :(得分:2)

据我了解,这仅适用于Windows 10应用程序。

https://channel9.msdn.com/Events/Build/2015/2-691