Passa ai contenuti principali

Post

Visualizzazione dei post da Aprile, 2013

WP8 : Installare dinamicamente i Voice Command Definition, DynamicVCD

I Voice Command Definition sono dei file XML che permettono di configurare quali sono i comandi vocali, gestiti da Windows Phone 8, a cui la nostra applicazione risponde.Per una trattazione più approfondita sull’argomento vi rimando al blog di Michele Locuratolo (anatomia del file VCD, registrazione del file VCD, Gestione del Voice Command).In questo post vorrei suggerire un modo per gestire dinamicamente l’installazione e la configurazione di tali file.Una app può installare un solo VCD e, una volta installato, si possono solamente modificare le phrase list e non si possono aggiungere o rimuovere i comandi (a meno di non reinstallare il file).L’idea è quella di creare una struttura dati che descriva il voice command definition:e, utilizzando, queste strutture costruire “al volo” i file VCD da salvare su storage e installare in maniera “canonica”.PublicSharedAsyncFunction InstallVoiceCommandDefinitionAsync(voiceCommandDefinition AsVoiceCommandDefinition) AsTaskIf voiceCommandDefinitio…

WP8: le Speech API e le eccezioni – Speech Exceptions Toolkit

Tutti coloro che si stanno cimentando con l’utilizzo delle Speech API di Windows Phone 8, avranno notato, probailmente con qualche improperio, che le eccezioni generate dalle classi utilizzate non sono sempre “parlanti”.Per fare un esempio, proviamo a utilizzare un Voice Command Definition file (per un’ottima spiegazione riguardo l’utilizzo dei VCD vi rimando ai posts Michele Locuratolo) non correttamente formato.Potremmo, ad esempio, eliminare il CommandName in un Command del CommandSet:<?xmlversion="1.0"encoding="utf-8"?><VoiceCommandsxmlns="http://schemas.microsoft.com/voicecommands/1.0"><CommandSetxml:lang="en-US"><CommandPrefix>Contoso Rodeo</CommandPrefix><Example> play a new game </Example><Command ><Example> play a new game </Example><ListenFor> [and] play [a] new game </ListenFor><ListenFor> [and] start [a] new game </ListenFor><Feedback> Starting …