Cortana がカスタム コマンドをアプリにリダイレクトすることを楽しみにしています (Cortana API 統合)。
Commands.xml
<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1">
<CommandSet xml:lang="en-us" >
<CommandPrefix>Computer</CommandPrefix>
<Example> who are the indians </Example>
<Command Name="Origins">
<Example> who are the indians </Example>
<ListenFor> who are the {tribe} </ListenFor>
<Feedback> looking for {tribe} </Feedback>
<Navigate/>
</Command>
<PhraseTopic Label="tribe" Scenario="Tribe Info">
<Subject> Tribe </Subject>
</PhraseTopic>
</CommandSet>
</VoiceCommands>
App.xaml.cs の抽出
protected async override void OnLaunched(LaunchActivatedEventArgs e)
{
try
{
var storageFile =
await Windows.Storage.StorageFile.GetFileFromApplicationUriAsync(
new Uri("ms-appx:///Commands.xml"));
await Windows.Media.SpeechRecognition.VoiceCommandManager.InstallCommandSetsFromStorageFileAsync(storageFile);
}
catch (Exception)
{
System.Diagnostics.Debug.WriteLine("Failed");
MessageDialog msg = new MessageDialog("Problem chief.");
msg.ShowAsync();
//throw;
}
}
また、マニフェスト ファイルでマイク機能を有効にしました。私はVS 2015を実行しており、Windows 8.1を実行するデバイスlumia 525で直接デバッグしています。アプリは正常にインストールされます (UI パーツを追加していないため、単純な黒い画面が表示されます) クラッシュせず、デバッグでも異常は表示されません。
'App6.exe' (CoreCLR: DefaultDomain): Loaded 'C:\windows\system32\mscorlib.ni.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'App6.exe' (CoreCLR: .): Loaded 'D:\WPSystem\APPREPOSITORY\d8c976b1-9b9b-47a3-8b2c-8f6dc74eeee5_1.0.0.0_neutral__2f5008nxamf4t\NI\App6.ni.EXE'. Symbols loaded.
'App6.exe' (CoreCLR: .): Loaded 'C:\windows\system32\WinMetadata\Windows.winmd'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'App6.exe' (CoreCLR: .): Loaded 'C:\windows\system32\System.Runtime.WindowsRuntime.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'App6.exe' (CoreCLR: .): Loaded 'C:\windows\system32\SYSTEM.NI.DLL'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'App6.exe' (CoreCLR: .): Loaded 'C:\windows\system32\en-US\mscorlib.debug.resources.dll'. Module was built without symbols.
The thread 0xf44 has exited with code 0 (0x0).
Cortana では、"What can I say?" に私のコマンドが表示されません。コマンドに応答しません。