SlideShare ist ein Scribd-Unternehmen logo
1 von 52
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

Weitere ähnliche Inhalte

Andere mochten auch

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 .
 
Artajona fiestas patronales 25 fotos
Artajona  fiestas patronales 25 fotosArtajona  fiestas patronales 25 fotos
Artajona fiestas patronales 25 fotosamadorin57
 
Siete flores para conocer Malambo
Siete flores para conocer MalamboSiete flores para conocer Malambo
Siete flores para conocer Malambomalambopermanencia
 
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.2010Netzwerk-Verlag
 
English twitter 08
English twitter 08English twitter 08
English twitter 08jotavazquez
 
Agileee Agile Journeys Hussman
Agileee Agile Journeys HussmanAgileee Agile Journeys Hussman
Agileee Agile Journeys HussmanAgileee
 
Gofres – tu merienda perfecta
Gofres – tu merienda perfectaGofres – tu merienda perfecta
Gofres – tu merienda perfectaLau_scribano
 
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 SheetMarcellus 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/2014Ejército de Tierra
 
Wwrd holiday webinar3_final
Wwrd holiday webinar3_finalWwrd holiday webinar3_final
Wwrd holiday webinar3_finalKate Lowry
 
Presentación xat2
Presentación xat2Presentación xat2
Presentación xat2bRianda
 
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 2AIMS 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 IBMontimesuite
 
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 & HFTQTrade Bootcamp
 
B2b Social Media marketing
B2b Social Media marketingB2b Social Media marketing
B2b Social Media marketingDML Srl
 

Andere mochten auch (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
 

Ähnlich wie 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 - Cortanatmonaco
 
Hands free with cortana
Hands free with cortanaHands free with cortana
Hands free with cortanaFiyaz Hasan
 
Windows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechWindows Phone 8 - 14 Using Speech
Windows Phone 8 - 14 Using SpeechOliver 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 AppsNick Landry
 
Speech for Windows Phone 8
Speech for Windows Phone 8Speech for Windows Phone 8
Speech for Windows Phone 8Marco Massarelli
 
Speech for Windows Phone 8
Speech for Windows Phone 8Speech for Windows Phone 8
Speech for Windows Phone 8Appsterdam Milan
 
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 integrationPaul Trafford
 
Selenium tutorial
Selenium tutorialSelenium tutorial
Selenium tutorialmindqqa
 
Selenium Open Source Tool
Selenium Open Source ToolSelenium Open Source Tool
Selenium Open Source Toolonlinemindq
 
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, ClickStartScott DeLoach
 
Moss Search Challenges
Moss Search ChallengesMoss Search Challenges
Moss Search Challengesrsnarayanan
 
SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019SmokeTests - What, Why & How - ConFoo 2019
SmokeTests - What, Why & How - ConFoo 2019tech.kartenmacherei
 
実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsug実例で学ぶ、明日から使えるSpring Boot Tips #jsug
実例で学ぶ、明日から使えるSpring Boot Tips #jsugToshiaki 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 AppsNathan Smith
 

Ähnlich wie 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.ppt
Selenium.pptSelenium.ppt
Selenium.ppt
 
Selenium Open Source Tool
Selenium Open Source ToolSelenium Open Source Tool
Selenium Open Source Tool
 
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
 

Mehr von Abhishek Sur

Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabricAbhishek Sur
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intentAbhishek Sur
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesAbhishek Sur
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to conceptsAbhishek Sur
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in AzureAbhishek Sur
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructureAbhishek Sur
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesAbhishek Sur
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edgeAbhishek Sur
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build BridgesAbhishek Sur
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overviewAbhishek 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 overviewAbhishek Sur
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 wsAbhishek Sur
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performanceAbhishek Sur
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its featuresAbhishek Sur
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 EnhancementsAbhishek Sur
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsAbhishek Sur
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsAbhishek Sur
 
ASP.NET 4.5 webforms
ASP.NET 4.5 webformsASP.NET 4.5 webforms
ASP.NET 4.5 webformsAbhishek Sur
 

Mehr von 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
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 

Kürzlich hochgeladen (20)

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 

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