4. #dotNetSpain2016
Actualmente CIO en Captio ha
trabajado desde hace más de 15
años como consultor especializado
en tecnologías de Microsoft y
colaborador habitual de los grupos
de usuario.
28. #dotNetSpain2016
Nombre de la aplicación como:
• Prefijo (antes de la frase de comando)
• Infijo (dentro de la frase de comando)
• Sufijo (después de la frase de comando)
29. #dotNetSpain2016
Hay que registrar el fichero de comandos
<CommandSet xml:lang="es" Name="examplevcd">
<CommandPrefix>Gordi</CommandPrefix>
<Example>tiene los ojos azules</Example>
<Command Name="Pelis">
<Example>señor de los anillos o star wars</Example>
<ListenFor>eres mas de {pelis} o de {pelis} </ListenFor>
<Feedback>Yo soy mas de Matrix</Feedback>
<Navigate/>
</Command>
30. #dotNetSpain2016
Hay que registrar el fichero de comandos
//Registramos el fichero de comandos en el dispositivo
if (e.NavigationMode == NavigationMode.New)
{
var storageFile = await Windows.Storage.StorageFile
.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Question_VCD.xml"));
await Windows.ApplicationModel.VoiceCommands.VoiceCommandDefinitionManager
.InstallCommandDefinitionsFromStorageFileAsync(storageFile);
}
31. #dotNetSpain2016
Para mostrar el resultado convertimos el texto en voz.
private async Task SpeakText(string text)
{
var synth = new SpeechSynthesizer();
var mediaElement = new MediaElement();
var stream = await synth.SynthesizeTextToStreamAsync(text);
mediaElement.SetSource(stream, stream.ContentType);
mediaElement.Play();
}