示例#1
0
        public static CortanaCommand ProcessCommand(SpeechRecognitionResult speechRecognitionResult, CommandDiagnostics diagnostics)
        {
            // Get the name of the voice command and the text spoken
            string voiceCommandName = speechRecognitionResult.RulePath[0];
            string textSpoken       = speechRecognitionResult.Text;

            string         argument         = null;
            CortanaCommand processedCommand = null;

            //bool modelUsed = ModelHolder != null;
            //if (modelUsed) {
            //    UserCortanaCommand userCommand = ProcessUserCommand(voiceCommandName, speechRecognitionResult, diagnostics);
            //    bool wasUserCommand = userCommand != null;
            //    if (wasUserCommand) {
            //        return userCommand;
            //    }
            //}

            switch (voiceCommandName)
            {
            case CortanaCommand.Execute:
                argument = GetPhraseArg(speechRecognitionResult, "filename");     // filename
                //argument = CortanaCommand.StripOffCommandName(voiceCommandName, textSpoken);
                processedCommand = new ExecuteCortanaCommand(argument, diagnostics);
                break;

            case CortanaCommand.ToggleListening:
                processedCommand = new ToggleListeningCortanaCommand(null, diagnostics);     // no argument needed
                break;

            case CortanaCommand.YouTube:
                const string youtube = "YouTube";
                argument         = CortanaCommand.StripOffCommandName(youtube, textSpoken); // search text
                processedCommand = new YoutubeCortanaCommand(argument, diagnostics);
                break;

            case CortanaCommand.Notepad:
                const string notepad = "Notepad";
                argument         = CortanaCommand.StripOffCommandName(notepad, textSpoken); // text
                processedCommand = new NotepadCortanaCommand(argument, diagnostics);
                break;

            case CortanaCommand.FeedMe:
                processedCommand = new FeedMeCortanaCommand(null, diagnostics);     // no argument needed
                break;

            case CortanaCommand.Calibrate:
                processedCommand = new CalibrateCortanaCommand(null, diagnostics);     // no argument needed
                break;

            case CortanaCommand.BriefMe:
                processedCommand = new BriefMeCortanaCommand(null, diagnostics);     // no argument needed
                break;

            default:
                Debug.WriteLine("Command Name Not Found:  " + voiceCommandName);
                break;
            }
            return(processedCommand);
        }
示例#2
0
        public override bool Equals(object obj)
        {
            if (obj == null || !(obj is CortanaCommand))
            {
                return(false);
            }

            CortanaCommand cc       = obj as CortanaCommand;
            bool           sameName = this.Name.Equals(cc.Name);
            bool           sameArg  = false;

            if (Argument != null)
            {
                if (cc != null && cc.Argument != null)
                {
                    sameArg = this.Argument.Equals(cc.Argument);
                }
                sameArg = false;
            }
            else
            {
                sameArg = cc != null && cc.Argument == null;
            }
            return(sameName && sameArg);
        }
示例#3
0
        /// <summary>
        /// Run the command in text mode (as opposed to voice mode).
        /// </summary>
        public static async Task RunAsTextCommand(CortanaCommand command)
        {
            // Store argument in clipboard
            string rawInput = command.ToInputString();

            ClipboardHelper.CopyToClipboard(rawInput);
            // Run the closest thing to Cortana command line I have
            const string filename = "Cortanahk.ahk";
            await FileHelper.Launch(filename, StorageFolders.LocalFolder);
        }
 async Task IAppPage.RespondToVoice(CortanaCommand command)
 {
     await ViewModel.RespondToVoice(command);
 }
示例#5
0
 /// <summary>
 /// Run the command in text mode (as opposed to voice mode). 
 /// </summary>
 public static async Task RunAsTextCommand(CortanaCommand command)
 {
     // Store argument in clipboard
     string rawInput = command.ToInputString();
     ClipboardHelper.CopyToClipboard(rawInput);
     // Run the closest thing to Cortana command line I have
     const string filename = "Cortanahk.ahk";
     await FileHelper.Launch(filename, StorageFolders.LocalFolder);
 }