2016-06-19 12 views
0

最近私はWindows 10をインストールしてプログラマーになっていますが、私はコルタナをちょっとパーソナライズできるかもしれないと思っていました。 私はmdsnが私に語ったことをやったことがあり、私はできるだけ簡単なテストプロジェクトを作成しようとしました。そこから繰り返します。 私は多くのトピックを見てきましたが、私は問題を見つけることができませんでした。 私が変わったのは、私がコルタナの中で私の命令を見つけることができるということですが、コルタナは私のアプリの中でそれらを誘発しないようです。それは単にBing Searchをもたらします。 :(ここ私はコルタナにコマンドを追加するように見えない

は私のコマンドが登録されたことの証明である Cortana Command Added

ここでは、コードは次のようになります。

protected async override void OnLaunched(LaunchActivatedEventArgs e) 
{ 
    --------------------------- 

    try 
    { 
     // Install the main VCD. 
     StorageFile vcdStorageFile = 
     await Package.Current.InstalledLocation.GetFileAsync(
      @"TestCommands.xml"); 

     await Windows.ApplicationModel.VoiceCommands.VoiceCommandDefinitionManager. 
     InstallCommandDefinitionsFromStorageFileAsync(vcdStorageFile); 
    } 
    catch (Exception ex) 
    { 
     System.Diagnostics.Debug.WriteLine("Installing Voice Commands Failed: " + ex.ToString()); 
    } 
} 

protected override void OnActivated(IActivatedEventArgs e) 
{ 
    // Handle when app is launched by Cortana 
    if (e.Kind == ActivationKind.VoiceCommand) 
    { 
     System.Diagnostics.Debug.WriteLine("It worked!!!"); 
    } 
    base.OnActivated(e); 
} 

とXML:

<?xml version="1.0" encoding="utf-8" ?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.2"> 
    <CommandSet xml:lang="en-us" Name="EatEverydayCommandSet_en-us"> 
     <Example>Eat everyday</Example> 

     <Command Name="Eat_Every_Day"> 
      <Example>Eat everyday</Example> 
      <ListenFor>Eat everyday</ListenFor> 
      <Feedback>Eating</Feedback> 
      <Navigate /> 
     </Command> 
    </CommandSet> 
</VoiceCommands> 

はまた、私は見て、I私の地域を米国と言語を英語に設定してください。

+0

「Cortana」のマイクボタンを選択したり、「Eat Everyday」と言う前に「Hey、Cortana」と言って、Cortanaアプリに話そうとしたことがありますか?「毎日食べるあなたが言っているその言葉の別の発音を聞くことができるので、 – RoguePlanetoid

答えて

1

あなたが投稿したコードは正しいですし、コードで私はCortanaからアプリを起動できます。 Cortanaがアプリを起動できない理由の1つは、CommandPrefixまたはAppName要素がVCDファイルに設定されていない可能性があります。

これらの2つは、CommandSet要素のオプションの子要素ですが。しかし、彼らは音声コマンドを与えるときにユーザーが話すことができるアプリのユーザーフレンドリーな名前を指定します。これは、名前が長くて発音が難しいアプリの場合に便利です。 CommandPrefixまたはAppName要素を設定しない場合、Cortanaで実行するには音声コマンドでアプリ名を使用する必要があります。あなたのケースでは、あなたが投稿した画像に従って、完全なコマンドは"EatEveryday、Eat everyday"でなければなりません。

EatEverydayは英語ではありません。コルタナがそれを認識するのは難しいです。ほとんどの場合、コマンドは "毎日食べる毎日食べる"と認識されます。名前が「食べる」または「毎日食べる」Cortanaに登録されているアプリがないため、CortanaはBing Searchを検索して検索します。

は、あなたが登録した音声コマンドをテストするには、次のようにコルタナで「毎日食べるEatEveryday」と入力しようとすることができます:
enter image description here

これはあなたのアプリを起動することができるはずです。また、ユーザーエクスペリエンスを向上させるために、CommandPrefixまたはAppName要素をVCDファイルに設定することをお勧めします。たとえば、次のVCDファイルを使用します。

<?xml version="1.0" encoding="utf-8" ?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.2"> 
    <CommandSet xml:lang="en-us" Name="EatEverydayCommandSet_en-us"> 
    <CommandPrefix>Eat Application</CommandPrefix> 
    <Example>Eat everyday</Example> 

    <Command Name="Eat_Every_Day"> 
     <Example>Eat everyday</Example> 
     <ListenFor>Eat everyday</ListenFor> 
     <Feedback>Eating</Feedback> 
     <Navigate /> 
    </Command> 
    </CommandSet> 
</VoiceCommands> 

コマンドを使用して、 "eat every eat eat everyday"コマンドを使用してアプリを起動します。

+0

はいはいはい。どうもありがとう。私はプレフィックスを持っていなければならないことは分かりませんでした。 CommandPrefixなしで「毎日食べる」と言うだけの方法があるかどうかは分かりません。 – DoNNNy

+0

@DoNNNyあなたは「毎日食べる」としか言いようがありません。 CommandPrefixを使用しない場合は、公式の[Cortana voice command sample](https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/CortanaVoiceCommand)のようにAppNameを使用できます。または、すべてを使用しない場合は、「EatEveryday、Eat everyday」のように、アプリ名を使用する必要があります。 –

関連する問題