键入“我能说什么?”
时,Cortana中不会显示应用程序和语音命令我正在尝试使用Cortana在Foreground中使用语音命令,并且正在运行Cortana语音命令示例,并且无法让Cortana为名为“AdventureWorks”的应用程序显示应用程序或打开/执行语音命令。
我正在使用Cortana语音命令示例,我在Windows 10上本地运行Visual Studio 2015进行调试。根据这个链接,这应该在我的本地机器上创建一个解包版本的样本,我应该可以从“开始”屏幕看到我无法看到。 我已经在应用程序的功能下激活了Microphone并包含了en-GB resources.resw文件,并将Package.appxmanifest更改为en-GB的默认语言以匹配,以确保Cortana的语言与应用程序匹配以消除这是一个潜在的问题。
以下链接显示在从VS运行应用程序后(在有或没有调试的情况下)应该在“开始”屏幕中显示应用程序的未打包版本: How to deploy a Metro App to the Desktop?
Cortana语音命令示例: https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CortanaVoiceCommand
注意: 除了我以外,该应用程序是标准的,包括en-GB资源文件,将package.appxmanifest位置更改为en-GB,并将Microphone添加到应用程序的功能中。我的电脑上也启用了开发者模式。
更新:将vcd.xml添加到VoiceCommandDefinitionManager时没有异常发生..它看起来应该正常工作.. 我还注意到,在运行示例时,我无法看到伦敦的图片或麦克风图标上的“聆听”,如同视频:https://channel9.msdn.com/Events/Build/2015/3-716在04:16
此时谷歌搜索“应用程序未显示在Cortana中”并未显示任何有用的结果。
有没有其他人有幸运行这个样本?或者类似的问题?您还在使用en-GB版本吗?
任何帮助或想法将不胜感激
答案 0 :(得分:1)
我已使用en-US成功测试了AdverntureWorks样本。 我还开发了另一个关于Cortana前景的sample。
基本上我已经创建了VCD然后安装了它:
protected async override void OnLaunched(LaunchActivatedEventArgs e)
{
...
// Install the VCD
try
{
StorageFile vcdStorageFile = await Package.Current.InstalledLocation.GetFileAsync(@"HomeControlCommands.xml");
await VoiceCommandDefinitionManager.InstallCommandDefinitionsFromStorageFileAsync(vcdStorageFile);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("There was an error registering the Voice Command Definitions", ex);
}
}
然后处理了激活:
protected override void OnActivated(IActivatedEventArgs e)
{
// Handle when app is launched by Cortana
if (e.Kind == ActivationKind.VoiceCommand)
{
VoiceCommandActivatedEventArgs commandArgs = e as VoiceCommandActivatedEventArgs;
SpeechRecognitionResult speechRecognitionResult = commandArgs.Result;
string voiceCommandName = speechRecognitionResult.RulePath[0];
string textSpoken = speechRecognitionResult.Text;
IReadOnlyList<string> recognizedVoiceCommandPhrases;
System.Diagnostics.Debug.WriteLine("voiceCommandName: " + voiceCommandName);
System.Diagnostics.Debug.WriteLine("textSpoken: " + textSpoken);
switch (voiceCommandName)
{
...
}
}
}
详细过程描述为here
答案 1 :(得分:1)
我有完全相同的问题。
确保您为Package.appxmanifest
启用了麦克风功能,否则它无法正常工作。
启用它,在解决方案资源管理器中选择Package.appxmanifest
,转到Capabilities
,然后选中Microphone
。
更多信息:http://jamescroft.co.uk/blog/universal-windows-8-dev/how-to-get-your-apps-cortana-ready/
希望这有帮助, damtur
答案 2 :(得分:1)
如DevEnitly所述,我遇到了与你相同的问题,例如,如果你所在的地区设置为英国,而你的VCD文件中你的CommandSet语言是en-US,它就不会工作,只需将CommandSet的语言更改为us-gb(或适合您所在地区的任何语言)应该可以解决问题(它对我而言),同时请注意,如果要支持不同的语言,则应添加更多的CommandSets。希望这能解决你的问题。