SlideShare a Scribd company logo
Community Day 2014 
Kolkata Geeks
Abhishek Sur 
Microsoft MVP in ASP.NET/IIS 
Twitter : @abhi2434 
Facebook : abhi2434 
Email : contact@abhisheksur.com 
Presented by
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<CommandPrefix>MSDN</CommandPrefix>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<Example>How do I add Voice Commands to my application</Example>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
/Command>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<Example>Find Install Voice Command Sets</Example>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<Feedback>Search on MSDN</Feedback>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<Navigate Target="MainPage.xaml" />
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic>
<?xml version="1.0" encoding="utf-8"?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0"> 
<CommandSet xml:lang="en-us" Name="englishCommands"> 
<CommandPrefix>MSDN</CommandPrefix> 
<Example>How do I add Voice Commands to my application</Example> 
<Command Name="FindText"> 
<Example>Find Install Voice Command Sets</Example> 
<ListenFor>Search</ListenFor> 
<ListenFor>Search for {dictatedSearchTerms}</ListenFor> 
<ListenFor>Find</ListenFor> 
<ListenFor>Find {dictatedSearchTerms}</ListenFor> 
<Feedback>Search on MSDN</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<Command Name="nlpCommand"> 
<Example>How do I add Voice Commands to my application</Example> 
<ListenFor>{dictatedVoiceCommandText}</ListenFor> 
<Feedback>Starting MSDN...</Feedback> 
<Navigate Target="MainPage.xaml" /> 
</Command> 
<PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
<PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> 
<Subject>MSDN</Subject> 
</PhraseTopic> 
</CommandSet> 
</VoiceCommands>
Windows Phone Silverlight Apps on Windows Phone 8.1 
private async void 
// SHOULD BE PERFORMED UNDER TRY/CATCH 
Uri new ms-appx:///vcd.xml UriKind.Absolute 
await 
Windows Runtime Apps on Windows Phone 8.1 
private async void 
// SHOULD BE PERFORMED UNDER TRY/CATCH 
Uri uriVoiceCommands = new Uri("ms-appx:///vcd.xml", UriKind.Absolute); 
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(uriVoiceCommands); 
await VoiceCommandManager.InstallCommandSetsFromStorageFileAsync(file);
❶ 
❷
// Windows Phone Silverlight App, in MainPage.xaml.cs 
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) 
{ 
string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("reco", out recoText); 
string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" 
NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); 
string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); 
switch (voiceCommandName) // What command launched the app? 
{ 
case "FindText": 
HandleFindText(searchTerms); 
break; 
case "nlpCommand": 
HandleNlpCommand(recoText); 
break; 
} 
} 
}
// Windows Phone Silverlight App, in MainPage.xaml.cs 
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) 
{ 
string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("reco", out recoText); 
string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" 
NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); 
string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); 
switch (voiceCommandName) // What command launched the app? 
{ 
case "FindText": 
HandleFindText(searchTerms); 
break; 
case "nlpCommand": 
HandleNlpCommand(recoText); 
break; 
} 
} 
} 
// Windows Phone Silverlight App, in MainPage.xaml.cs 
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
// Windows Phone Silverlight App, in MainPage.xaml.cs 
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) 
{ 
string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("reco", out recoText); 
string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" 
NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); 
string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); 
switch (voiceCommandName) // What command launched the app? 
{ 
case "FindText": 
HandleFindText(searchTerms); 
break; 
case "nlpCommand": 
HandleNlpCommand(recoText); 
break; 
} 
} 
} 
// What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
string recoText = null; 
NavigationContext.QueryString.TryGetValue("reco", out recoText); 
// Which command was recognized in the VCD.XML file? e.g. "FindText" 
string voiceCommandName = null; 
NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); 
// What did the user say, for named phrase topic or list "slots"? e.g. "Windows 
Phone Voice Commands" 
string searchTerms = null; 
NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms);
// Windows Phone Silverlight App, in MainPage.xaml.cs 
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) 
{ 
string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("reco", out recoText); 
string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" 
NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); 
string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); 
switch (voiceCommandName) // What command launched the app? 
{ 
case "FindText": 
HandleFindText(searchTerms); 
break; 
case "nlpCommand": 
HandleNlpCommand(recoText); 
break; 
} 
} 
} 
switch (voiceCommandName) // What command launched the app? 
{ 
case "FindText": 
HandleFindText(searchTerms); 
break; 
case "nlpCommand": 
HandleNlpCommand(recoText); 
break; 
}
❶ 
❷ 
❸
// Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class 
if (args.Kind == ActivationKind.VoiceCommand) 
{ 
VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; 
string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? 
switch (voiceCommandName) // Navigate to right page for the voice command 
{ 
case "FindText": // User said "find" or "search" 
rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); 
break; 
case "nlpCommand": // User said something else 
rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); 
break; 
} 
}
// Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class 
if (args.Kind == ActivationKind.VoiceCommand) 
{ 
VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; 
string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? 
switch (voiceCommandName) // Navigate to right page for the voice command 
{ 
case "FindText": // User said "find" or "search" 
rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); 
break; 
case "nlpCommand": // User said something else 
rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); 
break; 
} 
} 
// Windows Runtime App on Windows Phone 8.1, inside OnActivated override 
// in App class 
if (args.Kind == ActivationKind.VoiceCommand)
// Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class 
if (args.Kind == ActivationKind.VoiceCommand) 
{ 
VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; 
string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? 
switch (voiceCommandName) // Navigate to right page for the voice command 
{ 
case "FindText": // User said "find" or "search" 
rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); 
break; 
case "nlpCommand": // User said something else 
rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); 
break; 
} 
} 
VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; 
// What command launched the app? 
string voiceCommandName = vcArgs.Result.RulePath.First(); 
// Navigate to right page for the voice command 
switch (voiceCommandName)
// Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class 
if (args.Kind == ActivationKind.VoiceCommand) 
{ 
VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; 
string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? 
switch (voiceCommandName) // Navigate to right page for the voice command 
{ 
case "FindText": // User said "find" or "search" 
rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); 
break; 
case "nlpCommand": // User said something else 
rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); 
break; 
} 
} 
// Navigate to right page for the voice command 
switch (voiceCommandName) 
{ 
case "FindText": // User said "find" or "search" 
rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); 
break; 
case "nlpCommand": // User said something else 
rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); 
break; 
}
// Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo in FindText.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
if (vcResult!=null) 
{ 
// What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
string recoText = vcResult.Text; 
// Store the semantics dictionary for later use 
IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; 
string voiceCommandName = vcResult.RulePath.First(); 
if (voiceCommandName == "FindText") 
{ 
// What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
if (semantics.ContainsKey("dictatedSearchTerms")) 
{ 
HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); 
} 
else 
{ 
HandleNoSearchTerms(); 
} 
} 
// Else handle other voice commands 
} navigationHelper.OnNavigatedTo(e) 
}
// Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In FindText.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
if (vcResult!=null) 
{ 
// What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
string recoText = vcResult.Text; 
// Store the semantics dictionary for later use 
IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; 
string voiceCommandName = vcResult.RulePath.First(); 
if (voiceCommandName == "FindText") 
{ 
// What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
if (semantics.ContainsKey("dictatedSearchTerms")) 
{ 
HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); 
} 
else 
{ 
HandleNoSearchTerms(); 
} 
} 
// Else handle other voice commands 
} navigationHelper.OnNavigatedTo(e) 
} 
// Windows Runtime App on Windows Phone 8.1, inside 
// OnNavigatedTo in FindText.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
if (vcResult!=null) 
{ 
// What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
string recoText = vcResult.Text; 
// Store the semantics dictionary for later use 
IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = 
vcResult.SemanticInterpretation.Properties; 
string voiceCommandName = vcResult.RulePath.First();
// Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In FindText.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
if (vcResult!=null) 
{ 
// What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" 
string recoText = vcResult.Text; 
// Store the semantics dictionary for later use 
IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; 
string voiceCommandName = vcResult.RulePath.First(); 
if (voiceCommandName == "FindText") 
{ 
// What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" 
if (semantics.ContainsKey("dictatedSearchTerms")) 
{ 
HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); 
} 
else 
{ 
HandleNoSearchTerms(); 
} 
} 
// Else handle other voice commands 
} navigationHelper.OnNavigatedTo(e) 
} 
if (voiceCommandName == "FindText") 
{ 
// What did the user say, for named phrase topic or list "slots"? 
// e.g. "Windows Phone Voice Commands" 
if (semantics.ContainsKey("dictatedSearchTerms")) 
{ 
HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); 
} 
else 
{ 
HandleNoSearchTerms(); 
} 
}
// Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo in NlpCommand.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
// Check for null! 
string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; 
if (commandMode == "voice") // Did the user speak or type the command? 
{ 
SpeakText(audioPlayer, String.Format("MSDN app heard you say {0}", vcResult.Text)); 
HandleNlpCommand(vcResult); 
} 
else if(commandMode=="text") 
{ 
messageTextBox.Text = string.Format("Working on your request "{0}"", vcResult.Text); 
HandleNlpCommand(vcResult); 
} 
}
// Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In NlpCommand.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
// Check for null! 
string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; 
if (commandMode == "voice") // Did the user speak or type the command? 
{ 
SpeakText(audioPlayer, String.Format("MSDN app heard you say {0}", vcResult.Text)); 
HandleNlpCommand(vcResult); 
} 
else if(commandMode=="text") 
{ 
messageTextBox.Text = string.Format("Working on your request "{0}"", vcResult.Text); 
HandleNlpCommand(vcResult); 
} 
} 
// Windows Runtime App on Windows Phone 8.1, in OnNavigatedTo in NlpCommand.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0];
// Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In NlpCommand.xaml.cs 
protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
base.OnNavigatedTo(e); 
// Get recognition result from parameter passed in frame.Navigate call 
SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; 
// Check for null! 
string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; 
if (commandMode == "voice") // Did the user speak or type the command? 
{ 
SpeakText(audioPlayer, String.Format("MSDN app heard you say {0}", vcResult.Text)); 
HandleNlpCommand(vcResult); 
} 
else if(commandMode=="text") 
{ 
messageTextBox.Text = string.Format("Working on your request "{0}"", vcResult.Text); 
HandleNlpCommand(vcResult); 
} 
} 
string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; 
if (commandMode == "voice") // Did the user speak or type the command? 
{ 
SpeakText(audioPlayer, String.Format("MSDN voice heard you say {0}", vcResult.Text)); 
HandleNlpCommand(vcResult); 
} 
else if(commandMode=="text") 
{ 
msgTextBox.Text= string.Format("Working on your request "{0}"", vcResult.Text); 
HandleNlpCommand(vcResult); 
}
private void HandleNlpCommand(string recoText, bool actSilently) 
{ 
string action = null; 
string navigateTo = null; 
string searchFor = null; 
recoText = recoText.ToLower(); 
if (recoText.Contains("go to ") || recoText.Contains("goto ") || 
recoText.Contains("find ") || recoText.Contains("search ") || 
recoText.Contains("show me ")) 
{ 
action = "navigate"; 
if (recoText.Contains("windows phone dev center")) 
{ 
navigateTo = "http://dev.windowsphone.com"; 
} 
} 
else if (recoText.Contains("learn how to ")) 
{ 
action = "find"; 
searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); 
} 
else 
{ 
action = "find"; 
searchFor = recoText; 
} 
switch (action) 
{ 
case "find": 
// ...
private void HandleNlpCommand(string recoText, bool actSilently) 
{ 
if (recoText.Contains("go to ") || recoText.Contains("goto ") || 
string action = null; 
string navigateTo = null; 
string searchFor = null; 
recoText = recoText.ToLower(); 
if (recoText.Contains("go to ") || recoText.Contains("goto ") || 
recoText.Contains("find ") || recoText.Contains("search ") || 
recoText.Contains("show me ")) 
{ 
action = "navigate"; 
if (recoText.Contains("windows phone dev center")) 
{ 
navigateTo = "http://dev.windowsphone.com"; 
} 
} 
else if (recoText.Contains("learn how to ")) 
{ 
action = "find"; 
searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); 
} 
else 
{ 
action = "find"; 
searchFor = recoText; 
} 
switch (action) 
{ 
case "find": 
// ... 
recoText.Contains("find ") || recoText.Contains("search ") || 
recoText.Contains("show me ")) 
{ 
action = "navigate"; 
if (recoText.Contains("windows phone dev center")) 
{ 
navigateTo = "http://dev.windowsphone.com"; 
} 
}
private void HandleNlpCommand(string recoText, bool actSilently) 
{ 
string action = null; 
string navigateTo = null; 
string searchFor = null; 
recoText = recoText.ToLower(); 
if (recoText.Contains("go to ") || recoText.Contains("goto ") || 
recoText.Contains("find ") || recoText.Contains("search ") || 
recoText.Contains("show me ")) 
{ 
else if (recoText.Contains("learn how to ")) 
{ 
action = "navigate"; 
if (recoText.Contains("windows phone dev center")) 
{ 
navigateTo = "http://dev.windowsphone.com"; 
} 
} 
else if (recoText.Contains("learn how to ")) 
{ 
action = "find"; 
searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); 
} 
else 
{ 
action = "find"; 
searchFor = recoText; 
} 
switch (action) 
{ 
case "find": 
// ... 
action = "find"; 
searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); 
}
private void HandleNlpCommand(string recoText, bool actSilently) 
{ 
string action = null; 
string navigateTo = null; 
string searchFor = null; 
recoText = recoText.ToLower(); 
if (recoText.Contains("go to ") || recoText.Contains("goto ") || 
else 
{ 
recoText.Contains("find ") || recoText.Contains("search ") || 
recoText.Contains("show me ")) 
{ 
action = "navigate"; 
if (recoText.Contains("windows phone dev center")) 
{ 
navigateTo = "http://dev.windowsphone.com"; 
} 
} 
else if (recoText.Contains("learn how to ")) 
{ 
action = "find"; 
searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); 
} 
else 
{ 
action = "find"; 
searchFor = recoText; 
} 
switch (action) 
{ 
case "find": 
// ... 
action = "find"; 
searchFor = recoText; 
}
// Windows Phone Silverlight App 
// Synthesis 
private async void SpeakText(string textToSpeak) 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
await synthesizer.SpeakTextAsync(textToSpeak); 
} 
// Recognition 
private async Task<SpeechRecognitionUIResult> RecognizeSpeech() 
{ 
SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); 
// One of three Grammar types available 
recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( 
"key1", SpeechPredefinedGrammar.WebSearch); 
await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended 
// Put up UI and recognize user's utterance 
SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
// Windows Phone Silverlight App 
// Synthesis 
private async void SpeakText(string textToSpeak) 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
await synthesizer.SpeakTextAsync(textToSpeak); 
} 
// Synthesis 
private async void SpeakText(string textToSpeak) 
{ 
// Recognition 
private async Task<SpeechRecognitionUIResult> RecognizeSpeech() 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
await synthesizer.SpeakTextAsync(textToSpeak); 
SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); 
} 
// One of three Grammar types available 
recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( 
"key1", SpeechPredefinedGrammar.WebSearch); 
await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended 
// Put up UI and recognize user's utterance 
SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
// Recognition 
private async Task<SpeechRecognitionUIResult> RecognizeSpeech() 
{ 
// Windows Phone Silverlight App 
// Synthesis 
private async void SpeakText(string textToSpeak) 
{ 
SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
await synthesizer.SpeakTextAsync(textToSpeak); 
} 
// One of three Grammar types available 
recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( 
"key1", SpeechPredefinedGrammar.WebSearch); 
// Recognition 
private async Task<SpeechRecognitionUIResult> RecognizeSpeech() 
{ 
// Optional but recommended 
await recognizer.Recognizer.PreloadGrammarsAsync(); 
SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); 
// One of three Grammar types available 
recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( 
"key1", SpeechPredefinedGrammar.WebSearch); 
await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended 
// Put up UI and recognize user's utterance 
SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
// Windows Phone Silverlight App 
// Synthesis 
private async void SpeakText(string textToSpeak) 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
await synthesizer.SpeakTextAsync(textToSpeak); 
} 
// Put up UI and recognize user's utterance 
SpeechRecognitionUIResult result 
// Recognition 
private async Task<SpeechRecognitionUIResult> RecognizeSpeech() 
{ 
= await recognizer.RecognizeWithUIAsync(); 
SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); 
return result; 
// One of three Grammar types available 
recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( 
"key1", SpeechPredefinedGrammar.WebSearch); 
await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended 
// Put up UI and recognize user's utterance 
SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
// Windows Phone Store App 
// Synthesis 
<!--MediaElement in xaml file--> 
<MediaElement Name="audioPlayer" AutoPlay="True" .../> 
// C# code behind 
// Function to speak a text string 
private async void SpeakText(MediaElement audioPlayer, string textToSpeak) 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); 
audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" 
}
// Windows Phone Store App 
// Synthesis 
<!--MediaElement in xaml file--> 
<MediaElement Name="audioPlayer" AutoPlay="True" .../> 
// C# code behind 
// Function to speak a text string 
private async void SpeakText(MediaElement audioPlayer, string textToSpeak) 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); 
audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" 
} 
// Synthesis 
<!--MediaElement in xaml file--> 
<MediaElement Name="audioPlayer" AutoPlay="True" .../>
// C# code behind 
// Function to speak a text string 
private async void SpeakText(MediaElement audioPlayer, string textToSpeak) 
{ 
// Windows Phone Store App 
// Synthesis 
<!--MediaElement in xaml file--> 
<MediaElement Name="audioPlayer" AutoPlay="True" .../> 
// C# code behind 
// Function to speak a text string 
private async void SpeakText(MediaElement audioPlayer, string textToSpeak) 
{ 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); 
audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" 
} 
SpeechSynthesizer synthesizer = new SpeechSynthesizer(); 
SpeechSynthesisStream ttsStream 
= await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); 
audioPlayer.SetSource(ttsStream, ""); 
// This starts the player because AutoPlay="True" 
}
// Windows Phone Store App 
// Recognition 
private async Task<SpeechRecognitionResult> RecognizeSpeech() 
{ 
SpeechRecognizer recognizer = new SpeechRecognizer(); 
// One of three Constraint types available 
SpeechRecognitionTopicConstraint topicConstraint 
= new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "MSDN"); 
recognizer.Constraints.Add(topicConstraint); 
await recognizer.CompileConstraintsAsync(); // Required 
// Put up UI and recognize user's utterance 
SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or 
// result.RecognitionResult.SemanticInterpretation
SpeechRecognizer recognizer = new SpeechRecognizer(); 
// Windows Phone Store App 
// One of three Constraint types available 
SpeechRecognitionTopicConstraint topicConstraint 
// Recognition 
private async Task<SpeechRecognitionResult> RecognizeSpeech() 
{ 
= new SpeechRecognitionTopicConstraint( 
SpeechRecognitionScenario.WebSearch, "MSDN"); 
SpeechRecognizer recognizer = new SpeechRecognizer(); 
// One of three Constraint types available 
SpeechRecognitionTopicConstraint topicConstraint 
recognizer.Constraints.Add(topicConstraint); 
= new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "MSDN"); 
await recognizer.CompileConstraintsAsync(); // Required 
recognizer.Constraints.Add(topicConstraint); 
await recognizer.CompileConstraintsAsync(); // Required 
// Put up UI and recognize user's utterance 
SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or 
// result.RecognitionResult.SemanticInterpretation
// Windows Phone Store App 
// Put up UI and recognize user's utterance 
SpeechRecognitionResult result 
// Recognition 
private async Task<SpeechRecognitionResult> RecognizeSpeech() 
{ 
= await recognizer.RecognizeWithUIAsync(); 
SpeechRecognizer recognizer = new SpeechRecognizer(); 
return result; 
// One of three Constraint types available 
SpeechRecognitionTopicConstraint topicConstraint 
} 
// Calling code uses result.RecognitionResult.Text or 
// result.RecognitionResult.SemanticInterpretation 
= new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "MSDN"); 
recognizer.Constraints.Add(topicConstraint); 
await recognizer.CompileConstraintsAsync(); // Required 
// Put up UI and recognize user's utterance 
SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync(); 
return result; 
} 
// Calling code uses result.RecognitionResult.Text or 
// result.RecognitionResult.SemanticInterpretation
Integrating cortana with wp8 app

More Related Content

Viewers also liked

Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)
Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)
Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)
Deletrea .
 
B i l i s
B  i  l  i  sB  i  l  i  s
B i l i s
Victor Zurita
 
Artajona fiestas patronales 25 fotos
Artajona  fiestas patronales 25 fotosArtajona  fiestas patronales 25 fotos
Artajona fiestas patronales 25 fotos
amadorin57
 
Siete flores para conocer Malambo
Siete flores para conocer MalamboSiete flores para conocer Malambo
Siete flores para conocer Malambo
malambopermanencia
 
Erfolg Ausgabe 10/2010 vom 29.10.2010
Erfolg Ausgabe 10/2010 vom 29.10.2010Erfolg Ausgabe 10/2010 vom 29.10.2010
Erfolg Ausgabe 10/2010 vom 29.10.2010
Netzwerk-Verlag
 
English twitter 08
English twitter 08English twitter 08
English twitter 08
jotavazquez
 
Agileee Agile Journeys Hussman
Agileee Agile Journeys HussmanAgileee Agile Journeys Hussman
Agileee Agile Journeys Hussman
Agileee
 
Gofres – tu merienda perfecta
Gofres – tu merienda perfectaGofres – tu merienda perfecta
Gofres – tu merienda perfecta
Lau_scribano
 
40 Crisis Parte1
40 Crisis Parte140 Crisis Parte1
40 Crisis Parte1
María José López
 
Penn State Cooperative Extension Marcellus Education Fact Sheet
Penn State Cooperative Extension Marcellus Education Fact SheetPenn State Cooperative Extension Marcellus Education Fact Sheet
Penn State Cooperative Extension Marcellus Education Fact Sheet
Marcellus Drilling News
 
Boletín Tierra num. 220 28/mayo/2014
Boletín Tierra num. 220 28/mayo/2014Boletín Tierra num. 220 28/mayo/2014
Boletín Tierra num. 220 28/mayo/2014
Ejército de Tierra
 
Comps on 2124 Lipari ct las vegas nv 89123
Comps on 2124 Lipari ct las vegas nv 89123Comps on 2124 Lipari ct las vegas nv 89123
Comps on 2124 Lipari ct las vegas nv 89123
Las Vegas Realtor | Orange Realty Group
 
Wwrd holiday webinar3_final
Wwrd holiday webinar3_finalWwrd holiday webinar3_final
Wwrd holiday webinar3_final
Kate Lowry
 
Presentación xat2
Presentación xat2Presentación xat2
Presentación xat2
bRianda
 
Alvaro Hervas[1]
Alvaro Hervas[1]Alvaro Hervas[1]
Alvaro Hervas[1]
EDUCACIÓN TOLEDO
 
Canada oportunidades
Canada oportunidadesCanada oportunidades
Canada oportunidades
AaronDeejay Montoya Paiva
 
Astd social media employer branding workshop copy copy 2
Astd social media employer branding workshop copy copy 2Astd social media employer branding workshop copy copy 2
Astd social media employer branding workshop copy copy 2
AIMS International South Africa
 
An introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBMAn introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBM
ontimesuite
 
Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT
 Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT
Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT
QTrade Bootcamp
 
B2b Social Media marketing
B2b Social Media marketingB2b Social Media marketing
B2b Social Media marketing
DML Srl
 

Viewers also liked (20)

Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)
Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)
Arma virumque cano (nidicaciones sobre c+¦mo y por qu+® leer la e neida)
 
B i l i s
B  i  l  i  sB  i  l  i  s
B i l i s
 
Artajona fiestas patronales 25 fotos
Artajona  fiestas patronales 25 fotosArtajona  fiestas patronales 25 fotos
Artajona fiestas patronales 25 fotos
 
Siete flores para conocer Malambo
Siete flores para conocer MalamboSiete flores para conocer Malambo
Siete flores para conocer Malambo
 
Erfolg Ausgabe 10/2010 vom 29.10.2010
Erfolg Ausgabe 10/2010 vom 29.10.2010Erfolg Ausgabe 10/2010 vom 29.10.2010
Erfolg Ausgabe 10/2010 vom 29.10.2010
 
English twitter 08
English twitter 08English twitter 08
English twitter 08
 
Agileee Agile Journeys Hussman
Agileee Agile Journeys HussmanAgileee Agile Journeys Hussman
Agileee Agile Journeys Hussman
 
Gofres – tu merienda perfecta
Gofres – tu merienda perfectaGofres – tu merienda perfecta
Gofres – tu merienda perfecta
 
40 Crisis Parte1
40 Crisis Parte140 Crisis Parte1
40 Crisis Parte1
 
Penn State Cooperative Extension Marcellus Education Fact Sheet
Penn State Cooperative Extension Marcellus Education Fact SheetPenn State Cooperative Extension Marcellus Education Fact Sheet
Penn State Cooperative Extension Marcellus Education Fact Sheet
 
Boletín Tierra num. 220 28/mayo/2014
Boletín Tierra num. 220 28/mayo/2014Boletín Tierra num. 220 28/mayo/2014
Boletín Tierra num. 220 28/mayo/2014
 
Comps on 2124 Lipari ct las vegas nv 89123
Comps on 2124 Lipari ct las vegas nv 89123Comps on 2124 Lipari ct las vegas nv 89123
Comps on 2124 Lipari ct las vegas nv 89123
 
Wwrd holiday webinar3_final
Wwrd holiday webinar3_finalWwrd holiday webinar3_final
Wwrd holiday webinar3_final
 
Presentación xat2
Presentación xat2Presentación xat2
Presentación xat2
 
Alvaro Hervas[1]
Alvaro Hervas[1]Alvaro Hervas[1]
Alvaro Hervas[1]
 
Canada oportunidades
Canada oportunidadesCanada oportunidades
Canada oportunidades
 
Astd social media employer branding workshop copy copy 2
Astd social media employer branding workshop copy copy 2Astd social media employer branding workshop copy copy 2
Astd social media employer branding workshop copy copy 2
 
An introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBMAn introduction to the API for OnTime for IBM
An introduction to the API for OnTime for IBM
 
Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT
 Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT
Q-Trade Bootcamp 2015: Quantitative, Algorithmic Trading & HFT
 
B2b Social Media marketing
B2b Social Media marketingB2b Social Media marketing
B2b Social Media marketing
 

Similar to Integrating cortana with wp8 app

Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...
Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...
Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...
Nick Landry
 
TDC 2014 - Cortana
TDC 2014 - CortanaTDC 2014 - Cortana
TDC 2014 - Cortana
tmonaco
 
Hands free with cortana
Hands free with cortanaHands free with cortana
Hands free with cortana
Fiyaz Hasan
 
Windows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechWindows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using Speech
Oliver Scheer
 
Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !
Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !
Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !
Microsoft
 
Developing with Speech and Voice Recognition in Mobile Apps
Developing with Speech and Voice Recognition in Mobile AppsDeveloping with Speech and Voice Recognition in Mobile Apps
Developing with Speech and Voice Recognition in Mobile Apps
Nick Landry
 
Speech for Windows Phone 8
Speech for Windows Phone 8Speech for Windows Phone 8
Speech for Windows Phone 8
Marco Massarelli
 
Speech for Windows Phone 8
Speech for Windows Phone 8Speech for Windows Phone 8
Speech for Windows Phone 8
Appsterdam Milan
 
Admin share point with powershell
Admin share point with powershellAdmin share point with powershell
Admin share point with powershell
Concentrated Technology
 
KE User Group 2011 showcase: WordPress integration
KE User Group 2011 showcase: WordPress integrationKE User Group 2011 showcase: WordPress integration
KE User Group 2011 showcase: WordPress integration
Paul Trafford
 
Selenium tutorial
Selenium tutorialSelenium tutorial
Selenium tutorial
mindqqa
 
Selenium Open Source Tool
Selenium Open Source ToolSelenium Open Source Tool
Selenium Open Source Tool
onlinemindq
 
Selenium.ppt
Selenium.pptSelenium.ppt
Selenium.ppt
onlinemindq
 
Best Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStart
Best Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStartBest Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStart
Best Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStart
Scott DeLoach
 
Android search
Android searchAndroid search
Android search
Krazy Koder
 
Android search
Android searchAndroid search
Android search
Krazy Koder
 
Moss Search Challenges
Moss Search ChallengesMoss Search Challenges
Moss Search Challenges
rsnarayanan
 
SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019
tech.kartenmacherei
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
Toshiaki Maki
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile Apps
Nathan Smith
 

Similar to Integrating cortana with wp8 app (20)

Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...
Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...
Beyond Cortana & Siri: Using Speech Recognition & Speech Synthesis for the Ne...
 
TDC 2014 - Cortana
TDC 2014 - CortanaTDC 2014 - Cortana
TDC 2014 - Cortana
 
Hands free with cortana
Hands free with cortanaHands free with cortana
Hands free with cortana
 
Windows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechWindows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using Speech
 
Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !
Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !
Fonctions vocales sous Windows Phone : intégrez votre application à Cortana !
 
Developing with Speech and Voice Recognition in Mobile Apps
Developing with Speech and Voice Recognition in Mobile AppsDeveloping with Speech and Voice Recognition in Mobile Apps
Developing with Speech and Voice Recognition in Mobile Apps
 
Speech for Windows Phone 8
Speech for Windows Phone 8Speech for Windows Phone 8
Speech for Windows Phone 8
 
Speech for Windows Phone 8
Speech for Windows Phone 8Speech for Windows Phone 8
Speech for Windows Phone 8
 
Admin share point with powershell
Admin share point with powershellAdmin share point with powershell
Admin share point with powershell
 
KE User Group 2011 showcase: WordPress integration
KE User Group 2011 showcase: WordPress integrationKE User Group 2011 showcase: WordPress integration
KE User Group 2011 showcase: WordPress integration
 
Selenium tutorial
Selenium tutorialSelenium tutorial
Selenium tutorial
 
Selenium Open Source Tool
Selenium Open Source ToolSelenium Open Source Tool
Selenium Open Source Tool
 
Selenium.ppt
Selenium.pptSelenium.ppt
Selenium.ppt
 
Best Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStart
Best Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStartBest Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStart
Best Practices for Embedded UA - WritersUA 2012, Scott DeLoach, ClickStart
 
Android search
Android searchAndroid search
Android search
 
Android search
Android searchAndroid search
Android search
 
Moss Search Challenges
Moss Search ChallengesMoss Search Challenges
Moss Search Challenges
 
SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile Apps
 

More from Abhishek Sur

Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
Abhishek Sur
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
Abhishek Sur
 
Code review
Code reviewCode review
Code review
Abhishek Sur
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
Abhishek Sur
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
Abhishek Sur
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in Azure
Abhishek Sur
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructure
Abhishek Sur
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager Templates
Abhishek Sur
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edge
Abhishek Sur
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
Abhishek Sur
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build Bridges
Abhishek Sur
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
Abhishek Sur
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overview
Abhishek Sur
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
Abhishek Sur
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
Abhishek Sur
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
Abhishek Sur
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 Enhancements
Abhishek Sur
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 Enhancements
Abhishek Sur
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language Gems
Abhishek Sur
 
ASP.NET 4.5 webforms
ASP.NET 4.5 webformsASP.NET 4.5 webforms
ASP.NET 4.5 webforms
Abhishek Sur
 

More from Abhishek Sur (20)

Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
 
Code review
Code reviewCode review
Code review
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in Azure
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructure
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager Templates
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edge
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build Bridges
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overview
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 Enhancements
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 Enhancements
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language Gems
 
ASP.NET 4.5 webforms
ASP.NET 4.5 webformsASP.NET 4.5 webforms
ASP.NET 4.5 webforms
 

Recently uploaded

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

Integrating cortana with wp8 app

  • 1. Community Day 2014 Kolkata Geeks
  • 2. Abhishek Sur Microsoft MVP in ASP.NET/IIS Twitter : @abhi2434 Facebook : abhi2434 Email : contact@abhisheksur.com Presented by
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands>
  • 10. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <CommandPrefix>MSDN</CommandPrefix>
  • 11. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <Example>How do I add Voice Commands to my application</Example>
  • 12. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> /Command>
  • 13. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <Example>Find Install Voice Command Sets</Example>
  • 14. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor>
  • 15. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <Feedback>Search on MSDN</Feedback>
  • 16. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <Navigate Target="MainPage.xaml" />
  • 17. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic>
  • 18. <?xml version="1.0" encoding="utf-8"?> <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0"> <CommandSet xml:lang="en-us" Name="englishCommands"> <CommandPrefix>MSDN</CommandPrefix> <Example>How do I add Voice Commands to my application</Example> <Command Name="FindText"> <Example>Find Install Voice Command Sets</Example> <ListenFor>Search</ListenFor> <ListenFor>Search for {dictatedSearchTerms}</ListenFor> <ListenFor>Find</ListenFor> <ListenFor>Find {dictatedSearchTerms}</ListenFor> <Feedback>Search on MSDN</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <Command Name="nlpCommand"> <Example>How do I add Voice Commands to my application</Example> <ListenFor>{dictatedVoiceCommandText}</ListenFor> <Feedback>Starting MSDN...</Feedback> <Navigate Target="MainPage.xaml" /> </Command> <PhraseTopic Label="dictatedVoiceCommandText" Scenario="Dictation"> <Subject>MSDN</Subject> </PhraseTopic> <PhraseTopic Label="dictatedSearchTerms" Scenario="Search"> <Subject>MSDN</Subject> </PhraseTopic> </CommandSet> </VoiceCommands>
  • 19. Windows Phone Silverlight Apps on Windows Phone 8.1 private async void // SHOULD BE PERFORMED UNDER TRY/CATCH Uri new ms-appx:///vcd.xml UriKind.Absolute await Windows Runtime Apps on Windows Phone 8.1 private async void // SHOULD BE PERFORMED UNDER TRY/CATCH Uri uriVoiceCommands = new Uri("ms-appx:///vcd.xml", UriKind.Absolute); StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(uriVoiceCommands); await VoiceCommandManager.InstallCommandSetsFromStorageFileAsync(file);
  • 21. // Windows Phone Silverlight App, in MainPage.xaml.cs protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) { string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("reco", out recoText); string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); switch (voiceCommandName) // What command launched the app? { case "FindText": HandleFindText(searchTerms); break; case "nlpCommand": HandleNlpCommand(recoText); break; } } }
  • 22. // Windows Phone Silverlight App, in MainPage.xaml.cs protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) { string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("reco", out recoText); string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); switch (voiceCommandName) // What command launched the app? { case "FindText": HandleFindText(searchTerms); break; case "nlpCommand": HandleNlpCommand(recoText); break; } } } // Windows Phone Silverlight App, in MainPage.xaml.cs protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
  • 23. // Windows Phone Silverlight App, in MainPage.xaml.cs protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) { string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("reco", out recoText); string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); switch (voiceCommandName) // What command launched the app? { case "FindText": HandleFindText(searchTerms); break; case "nlpCommand": HandleNlpCommand(recoText); break; } } } // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" string recoText = null; NavigationContext.QueryString.TryGetValue("reco", out recoText); // Which command was recognized in the VCD.XML file? e.g. "FindText" string voiceCommandName = null; NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" string searchTerms = null; NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms);
  • 24. // Windows Phone Silverlight App, in MainPage.xaml.cs protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.NavigationMode == System.Windows.Navigation.NavigationMode.New) { string recoText = null; // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("reco", out recoText); string voiceCommandName = null; // Which command was recognized in the VCD.XML file? e.g. "FindText" NavigationContext.QueryString.TryGetValue("voiceCommandName", out voiceCommandName); string searchTerms = null; // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" NavigationContext.QueryString.TryGetValue("dictatedSearchTerms", out searchTerms); switch (voiceCommandName) // What command launched the app? { case "FindText": HandleFindText(searchTerms); break; case "nlpCommand": HandleNlpCommand(recoText); break; } } } switch (voiceCommandName) // What command launched the app? { case "FindText": HandleFindText(searchTerms); break; case "nlpCommand": HandleNlpCommand(recoText); break; }
  • 26. // Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class if (args.Kind == ActivationKind.VoiceCommand) { VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? switch (voiceCommandName) // Navigate to right page for the voice command { case "FindText": // User said "find" or "search" rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); break; case "nlpCommand": // User said something else rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); break; } }
  • 27. // Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class if (args.Kind == ActivationKind.VoiceCommand) { VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? switch (voiceCommandName) // Navigate to right page for the voice command { case "FindText": // User said "find" or "search" rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); break; case "nlpCommand": // User said something else rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); break; } } // Windows Runtime App on Windows Phone 8.1, inside OnActivated override // in App class if (args.Kind == ActivationKind.VoiceCommand)
  • 28. // Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class if (args.Kind == ActivationKind.VoiceCommand) { VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? switch (voiceCommandName) // Navigate to right page for the voice command { case "FindText": // User said "find" or "search" rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); break; case "nlpCommand": // User said something else rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); break; } } VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; // What command launched the app? string voiceCommandName = vcArgs.Result.RulePath.First(); // Navigate to right page for the voice command switch (voiceCommandName)
  • 29. // Windows Runtime App on Windows Phone 8.1, inside OnActivated override in App class if (args.Kind == ActivationKind.VoiceCommand) { VoiceCommandActivatedEventArgs vcArgs = (VoiceCommandActivatedEventArgs)args; string voiceCommandName = vcArgs.Result.RulePath.First(); // What command launched the app? switch (voiceCommandName) // Navigate to right page for the voice command { case "FindText": // User said "find" or "search" rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); break; case "nlpCommand": // User said something else rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); break; } } // Navigate to right page for the voice command switch (voiceCommandName) { case "FindText": // User said "find" or "search" rootFrame.Navigate(typeof(MSDN.FindText), vcArgs.Result); break; case "nlpCommand": // User said something else rootFrame.Navigate(typeof(MSDN.NlpCommand), vcArgs.Result); break; }
  • 30. // Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo in FindText.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; if (vcResult!=null) { // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" string recoText = vcResult.Text; // Store the semantics dictionary for later use IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; string voiceCommandName = vcResult.RulePath.First(); if (voiceCommandName == "FindText") { // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" if (semantics.ContainsKey("dictatedSearchTerms")) { HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); } else { HandleNoSearchTerms(); } } // Else handle other voice commands } navigationHelper.OnNavigatedTo(e) }
  • 31. // Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In FindText.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; if (vcResult!=null) { // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" string recoText = vcResult.Text; // Store the semantics dictionary for later use IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; string voiceCommandName = vcResult.RulePath.First(); if (voiceCommandName == "FindText") { // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" if (semantics.ContainsKey("dictatedSearchTerms")) { HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); } else { HandleNoSearchTerms(); } } // Else handle other voice commands } navigationHelper.OnNavigatedTo(e) } // Windows Runtime App on Windows Phone 8.1, inside // OnNavigatedTo in FindText.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; if (vcResult!=null) { // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" string recoText = vcResult.Text; // Store the semantics dictionary for later use IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; string voiceCommandName = vcResult.RulePath.First();
  • 32. // Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In FindText.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; if (vcResult!=null) { // What did the user say? e.g. MSDN, "Find Windows Phone Voice Commands" string recoText = vcResult.Text; // Store the semantics dictionary for later use IReadOnlyDictionary<string,IReadOnlyList<string>> semantics = vcResult.SemanticInterpretation.Properties; string voiceCommandName = vcResult.RulePath.First(); if (voiceCommandName == "FindText") { // What did the user say, for named phrase topic or list "slots"? e.g. "Windows Phone Voice Commands" if (semantics.ContainsKey("dictatedSearchTerms")) { HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); } else { HandleNoSearchTerms(); } } // Else handle other voice commands } navigationHelper.OnNavigatedTo(e) } if (voiceCommandName == "FindText") { // What did the user say, for named phrase topic or list "slots"? // e.g. "Windows Phone Voice Commands" if (semantics.ContainsKey("dictatedSearchTerms")) { HandleFindTextWithSearchTerms(semantics["dictatedSearchTerms"][0]); } else { HandleNoSearchTerms(); } }
  • 33. // Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo in NlpCommand.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; // Check for null! string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; if (commandMode == "voice") // Did the user speak or type the command? { SpeakText(audioPlayer, String.Format("MSDN app heard you say {0}", vcResult.Text)); HandleNlpCommand(vcResult); } else if(commandMode=="text") { messageTextBox.Text = string.Format("Working on your request "{0}"", vcResult.Text); HandleNlpCommand(vcResult); } }
  • 34. // Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In NlpCommand.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; // Check for null! string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; if (commandMode == "voice") // Did the user speak or type the command? { SpeakText(audioPlayer, String.Format("MSDN app heard you say {0}", vcResult.Text)); HandleNlpCommand(vcResult); } else if(commandMode=="text") { messageTextBox.Text = string.Format("Working on your request "{0}"", vcResult.Text); HandleNlpCommand(vcResult); } } // Windows Runtime App on Windows Phone 8.1, in OnNavigatedTo in NlpCommand.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0];
  • 35. // Windows Runtime App on Windows Phone 8.1, inside OnNavigatedTo In NlpCommand.xaml.cs protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Get recognition result from parameter passed in frame.Navigate call SpeechRecognitionResult vcResult = e.Parameter as SpeechRecognitionResult; // Check for null! string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; if (commandMode == "voice") // Did the user speak or type the command? { SpeakText(audioPlayer, String.Format("MSDN app heard you say {0}", vcResult.Text)); HandleNlpCommand(vcResult); } else if(commandMode=="text") { messageTextBox.Text = string.Format("Working on your request "{0}"", vcResult.Text); HandleNlpCommand(vcResult); } } string commandMode = vcResult.SemanticInterpretation.Properties["commandMode"][0]; if (commandMode == "voice") // Did the user speak or type the command? { SpeakText(audioPlayer, String.Format("MSDN voice heard you say {0}", vcResult.Text)); HandleNlpCommand(vcResult); } else if(commandMode=="text") { msgTextBox.Text= string.Format("Working on your request "{0}"", vcResult.Text); HandleNlpCommand(vcResult); }
  • 36.
  • 37. private void HandleNlpCommand(string recoText, bool actSilently) { string action = null; string navigateTo = null; string searchFor = null; recoText = recoText.ToLower(); if (recoText.Contains("go to ") || recoText.Contains("goto ") || recoText.Contains("find ") || recoText.Contains("search ") || recoText.Contains("show me ")) { action = "navigate"; if (recoText.Contains("windows phone dev center")) { navigateTo = "http://dev.windowsphone.com"; } } else if (recoText.Contains("learn how to ")) { action = "find"; searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); } else { action = "find"; searchFor = recoText; } switch (action) { case "find": // ...
  • 38. private void HandleNlpCommand(string recoText, bool actSilently) { if (recoText.Contains("go to ") || recoText.Contains("goto ") || string action = null; string navigateTo = null; string searchFor = null; recoText = recoText.ToLower(); if (recoText.Contains("go to ") || recoText.Contains("goto ") || recoText.Contains("find ") || recoText.Contains("search ") || recoText.Contains("show me ")) { action = "navigate"; if (recoText.Contains("windows phone dev center")) { navigateTo = "http://dev.windowsphone.com"; } } else if (recoText.Contains("learn how to ")) { action = "find"; searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); } else { action = "find"; searchFor = recoText; } switch (action) { case "find": // ... recoText.Contains("find ") || recoText.Contains("search ") || recoText.Contains("show me ")) { action = "navigate"; if (recoText.Contains("windows phone dev center")) { navigateTo = "http://dev.windowsphone.com"; } }
  • 39. private void HandleNlpCommand(string recoText, bool actSilently) { string action = null; string navigateTo = null; string searchFor = null; recoText = recoText.ToLower(); if (recoText.Contains("go to ") || recoText.Contains("goto ") || recoText.Contains("find ") || recoText.Contains("search ") || recoText.Contains("show me ")) { else if (recoText.Contains("learn how to ")) { action = "navigate"; if (recoText.Contains("windows phone dev center")) { navigateTo = "http://dev.windowsphone.com"; } } else if (recoText.Contains("learn how to ")) { action = "find"; searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); } else { action = "find"; searchFor = recoText; } switch (action) { case "find": // ... action = "find"; searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); }
  • 40. private void HandleNlpCommand(string recoText, bool actSilently) { string action = null; string navigateTo = null; string searchFor = null; recoText = recoText.ToLower(); if (recoText.Contains("go to ") || recoText.Contains("goto ") || else { recoText.Contains("find ") || recoText.Contains("search ") || recoText.Contains("show me ")) { action = "navigate"; if (recoText.Contains("windows phone dev center")) { navigateTo = "http://dev.windowsphone.com"; } } else if (recoText.Contains("learn how to ")) { action = "find"; searchFor = recoText.Substring(recoText.IndexOf("learn how to ") + 13); } else { action = "find"; searchFor = recoText; } switch (action) { case "find": // ... action = "find"; searchFor = recoText; }
  • 41.
  • 42. // Windows Phone Silverlight App // Synthesis private async void SpeakText(string textToSpeak) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); await synthesizer.SpeakTextAsync(textToSpeak); } // Recognition private async Task<SpeechRecognitionUIResult> RecognizeSpeech() { SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); // One of three Grammar types available recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( "key1", SpeechPredefinedGrammar.WebSearch); await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended // Put up UI and recognize user's utterance SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
  • 43. // Windows Phone Silverlight App // Synthesis private async void SpeakText(string textToSpeak) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); await synthesizer.SpeakTextAsync(textToSpeak); } // Synthesis private async void SpeakText(string textToSpeak) { // Recognition private async Task<SpeechRecognitionUIResult> RecognizeSpeech() { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); await synthesizer.SpeakTextAsync(textToSpeak); SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); } // One of three Grammar types available recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( "key1", SpeechPredefinedGrammar.WebSearch); await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended // Put up UI and recognize user's utterance SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
  • 44. // Recognition private async Task<SpeechRecognitionUIResult> RecognizeSpeech() { // Windows Phone Silverlight App // Synthesis private async void SpeakText(string textToSpeak) { SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); SpeechSynthesizer synthesizer = new SpeechSynthesizer(); await synthesizer.SpeakTextAsync(textToSpeak); } // One of three Grammar types available recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( "key1", SpeechPredefinedGrammar.WebSearch); // Recognition private async Task<SpeechRecognitionUIResult> RecognizeSpeech() { // Optional but recommended await recognizer.Recognizer.PreloadGrammarsAsync(); SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); // One of three Grammar types available recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( "key1", SpeechPredefinedGrammar.WebSearch); await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended // Put up UI and recognize user's utterance SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
  • 45. // Windows Phone Silverlight App // Synthesis private async void SpeakText(string textToSpeak) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); await synthesizer.SpeakTextAsync(textToSpeak); } // Put up UI and recognize user's utterance SpeechRecognitionUIResult result // Recognition private async Task<SpeechRecognitionUIResult> RecognizeSpeech() { = await recognizer.RecognizeWithUIAsync(); SpeechRecognizerUI recognizer = new SpeechRecognizerUI(); return result; // One of three Grammar types available recognizer.Recognizer.Grammars.AddGrammarFromPredefinedType( "key1", SpeechPredefinedGrammar.WebSearch); await recognizer.Recognizer.PreloadGrammarsAsync(); // Optional but recommended // Put up UI and recognize user's utterance SpeechRecognitionUIResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or result.RecognitionResult.Semantics
  • 46. // Windows Phone Store App // Synthesis <!--MediaElement in xaml file--> <MediaElement Name="audioPlayer" AutoPlay="True" .../> // C# code behind // Function to speak a text string private async void SpeakText(MediaElement audioPlayer, string textToSpeak) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" }
  • 47. // Windows Phone Store App // Synthesis <!--MediaElement in xaml file--> <MediaElement Name="audioPlayer" AutoPlay="True" .../> // C# code behind // Function to speak a text string private async void SpeakText(MediaElement audioPlayer, string textToSpeak) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" } // Synthesis <!--MediaElement in xaml file--> <MediaElement Name="audioPlayer" AutoPlay="True" .../>
  • 48. // C# code behind // Function to speak a text string private async void SpeakText(MediaElement audioPlayer, string textToSpeak) { // Windows Phone Store App // Synthesis <!--MediaElement in xaml file--> <MediaElement Name="audioPlayer" AutoPlay="True" .../> // C# code behind // Function to speak a text string private async void SpeakText(MediaElement audioPlayer, string textToSpeak) { SpeechSynthesizer synthesizer = new SpeechSynthesizer(); SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" } SpeechSynthesizer synthesizer = new SpeechSynthesizer(); SpeechSynthesisStream ttsStream = await synthesizer.SynthesizeTextToStreamAsync(textToSpeak); audioPlayer.SetSource(ttsStream, ""); // This starts the player because AutoPlay="True" }
  • 49. // Windows Phone Store App // Recognition private async Task<SpeechRecognitionResult> RecognizeSpeech() { SpeechRecognizer recognizer = new SpeechRecognizer(); // One of three Constraint types available SpeechRecognitionTopicConstraint topicConstraint = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "MSDN"); recognizer.Constraints.Add(topicConstraint); await recognizer.CompileConstraintsAsync(); // Required // Put up UI and recognize user's utterance SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or // result.RecognitionResult.SemanticInterpretation
  • 50. SpeechRecognizer recognizer = new SpeechRecognizer(); // Windows Phone Store App // One of three Constraint types available SpeechRecognitionTopicConstraint topicConstraint // Recognition private async Task<SpeechRecognitionResult> RecognizeSpeech() { = new SpeechRecognitionTopicConstraint( SpeechRecognitionScenario.WebSearch, "MSDN"); SpeechRecognizer recognizer = new SpeechRecognizer(); // One of three Constraint types available SpeechRecognitionTopicConstraint topicConstraint recognizer.Constraints.Add(topicConstraint); = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "MSDN"); await recognizer.CompileConstraintsAsync(); // Required recognizer.Constraints.Add(topicConstraint); await recognizer.CompileConstraintsAsync(); // Required // Put up UI and recognize user's utterance SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or // result.RecognitionResult.SemanticInterpretation
  • 51. // Windows Phone Store App // Put up UI and recognize user's utterance SpeechRecognitionResult result // Recognition private async Task<SpeechRecognitionResult> RecognizeSpeech() { = await recognizer.RecognizeWithUIAsync(); SpeechRecognizer recognizer = new SpeechRecognizer(); return result; // One of three Constraint types available SpeechRecognitionTopicConstraint topicConstraint } // Calling code uses result.RecognitionResult.Text or // result.RecognitionResult.SemanticInterpretation = new SpeechRecognitionTopicConstraint(SpeechRecognitionScenario.WebSearch, "MSDN"); recognizer.Constraints.Add(topicConstraint); await recognizer.CompileConstraintsAsync(); // Required // Put up UI and recognize user's utterance SpeechRecognitionResult result = await recognizer.RecognizeWithUIAsync(); return result; } // Calling code uses result.RecognitionResult.Text or // result.RecognitionResult.SemanticInterpretation