2014-05-05 17 views
7

Desidero integrare i comandi vocali Cortana nell'applicazione Windows Phone. So che l'ultimo aggiornamento dell'app di Wikipedia è abilitato per Cortana. Allo stesso tempo non riesco a trovare alcuna documentazione sull'API Cortana. Qualcuno sa dove posso trovarlo?La documentazione dell'API Cortana è disponibile?

+1

Ho visto molti articoli sul canale 9 su questo. Questo potrebbe essere un buon punto di partenza: http://channel9.msdn.com/coding4fun/blog/Cortana-show-me-how-I-can-add-you-to-my-apps Inoltre: http: // www .wp7connect.com/2014/04/06/nuovo-in-profondità Cortana-build-session-showing-funzioni-app-integrazione-video / –

risposta

4

Non esiste una cosa come un API Cortana, almeno ora.

ciò che è disponibile oggi chiede Cortana a fuoco la propria app con qualunque sia il parametro utente dice, maggiori informazioni al riguardo qui: http://msdn.microsoft.com/en-us/library/dn630430.aspx

Perché dico che non è un'API per Cortana? Perché non puoi programmare a livello di codice Cortana per il tempo o qualunque cosa tu voglia. Quello che fai è dire a Cortana qualcosa per accendere la tua app e da quel momento in poi è la tua app quella che dà all'utente il feedback, le informazioni o qualsiasi altra cosa.

1

È possibile integrare Cortana nella vostra app:

Creazione di un definizioni dei comandi vocali (VCD)

<?xml version="1.0" encoding="utf-8" ?> 
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1"> 
    <CommandSet xml:lang="en-us" Name="HomeControlCommandSet_en-us"> 
    <CommandPrefix>HomeControl</CommandPrefix> 
    <Example>Control alarm, temperature, light and others</Example> 

    <Command Name="Activate_Alarm"> 
     <Example>Activate alarm</Example> 
     <ListenFor>[Would] [you] [please] activate [the] alarm [please]</ListenFor> 
     <ListenFor RequireAppName="BeforeOrAfterPhrase">Activate alarm</ListenFor> 
     <Feedback>Activating alarm</Feedback> 
     <Navigate /> 
    </Command> 

    <Command Name="Change_Temperature"> 
     <Example>Change temperature to 25º degrees</Example> 
     <ListenFor>Change temperature to {temperature} degrees</ListenFor> 
     <Feedback>Changing temperature to {temperature} degrees</Feedback> 
     <Navigate /> 
    </Command> 

    <Command Name="Change_Light_Color"> 
     <Example>Change light color to yellow</Example> 
     <ListenFor>Change light color to {colors}</ListenFor> 
     <Feedback>Changing light color to {colors}</Feedback> 
     <Navigate /> 
    </Command> 

    <PhraseList Label="colors"> 
     <Item>yellow</Item> 
     <Item>green</Item> 
     <Item>red</Item> 
    </PhraseList> 

    <PhraseTopic Label="temperature"> 
    </PhraseTopic> 

    </CommandSet> 
</VoiceCommands> 

Registrazione VCD in App avvio

StorageFile vcdStorageFile = await Package.Current.InstalledLocation.GetFileAsync(@"HomeControlCommands.xml"); 
await VoiceCommandManager.InstallCommandSetsFromStorageFileAsync(vcdStorageFile); 

Handling comandi

protected override void OnActivated(IActivatedEventArgs e) 
{ 
    // Handle when app is launched by Cortana 
    if (e.Kind == ActivationKind.VoiceCommand) 
    { 
     VoiceCommandActivatedEventArgs commandArgs = e as VoiceCommandActivatedEventArgs; 
     SpeechRecognitionResult speechRecognitionResult = commandArgs.Result; 

     string voiceCommandName = speechRecognitionResult.RulePath[0]; 
     string textSpoken = speechRecognitionResult.Text; 
     IReadOnlyList<string> recognizedVoiceCommandPhrases; 

     System.Diagnostics.Debug.WriteLine("voiceCommandName: " + voiceCommandName); 
     System.Diagnostics.Debug.WriteLine("textSpoken: " + textSpoken); 

     switch (voiceCommandName) 
     ... 
} 

È possibile trovare maggiori informazioni a http://talkitbr.com/2015/07/13/integrando-a-cortana-em-seu-aplicativo-windows-10/

Inoltre, se siete interessati a rispondere all'utente attraverso la finestra Cortana, seleziona questa post quanto riguarda Cortana in background.