secretos personalizados para juegos configurar con comandos canciones agregar scripting nlp windows-10 cortana

scripting - personalizados - juegos con cortana



¿Cómo conectar los comandos de Cortana a los scripts personalizados? (2)

Lo que puede hacer es escribir un archivo .bat y agregar un acceso directo al archivo en la carpeta: C: / ProgramData / Microsoft / Windows / Start Menu / Programs puede asignarle el atajo que desee y desencadenar el apagado diciendo: " Hola Cortana abrir / iniciar [nombre del atajo] ". Asegúrate de que Cortana solo te escuche para que no te "bromeen".

Puede ser un poco pronto para preguntar esto, pero estoy ejecutando Windows 10 Technical Preview Build 10122. Me gustaría configurar Cortana para que tenga comandos personalizados. Así es como ella trabaja:

Hey Cortana, <she''ll listen and process this command>

Microsoft procesará el comando y si no hay nada para él, solo buscará la entrada en bing. Sin embargo, me gustaría poder decir algo como, por ejemplo,

Hey Cortana, I''m going to bed now

Y la entrada I''m going to bed now desencadenar ejecutar un script por lotes, un VBScript, un comando, o algún tipo de respuesta personalizada que básicamente hace lo siguiente.

C:/> shutdown -s

¿Hay alguna forma de configurar un comando personalizado predefinido para Cortana?

Actualizar:

Creé este tutorial básico de YouTube y este más avanzado con el correspondiente repositorio de GitHub basado en la respuesta excelente y muy útil de talkitbr a below .

Al principio su respuesta fue más allá de mi comprensión, así que decidí desglosarla con más detalle para futuros usuarios como yo.


Puede crear comandos para que Cortana los escuche. Estos comandos deben describirse en un archivo XML denominado Definiciones de comandos de voz o VCD.

Aquí hay un ejemplo:

<?xml version="1.0" encoding="utf-8" ?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.2"> <CommandSet xml:lang="en-us" Name="HomeControlCommandSet_en-us"> <CommandPrefix>HomeControl</CommandPrefix> <Example>Control alarm, temperature, light and others</Example> <Command Name="Activate_Alarm"> <Example>Activate alarm</Example> <ListenFor>[Would] [you] [please] activate [the] alarm [please]</ListenFor> <ListenFor RequireAppName="BeforeOrAfterPhrase">Activate alarm</ListenFor> <ListenFor RequireAppName="ExplicitlySpecified">Activate {builtin:AppName} alarm</ListenFor> <Feedback>Activating alarm</Feedback> <Navigate /> </Command> ... </CommandSet> </VoiceCommands>

Después de crear esta definición, debe registrarla en el inicio de la aplicación:

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); } }

A continuación, anule el método App.OnActivated para controlar cuándo se desencadenan los eventos:

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) { case "Activate_Alarm": System.Diagnostics.Debug.WriteLine("Activate_Alarm command"); break;

El tutorial muestra el código completo .

Después de hacer todo esto, puede llamar a sus scripts por lotes usando ProcessStartInfo o System.Diagnostics.Process.Start .

Además, si está interesado en responder al usuario a través de la ventana Cortana, consulte esta publicación sobre Cortana en segundo plano .