Använda RPi, Azure och Cortana att automatisera ditt hem! (12 / 15 steg)
Steg 12: Skapa din Windows Phone App del 4: kodning Cortana - SSML
SSML
För den första delen av kodning Cortana kommer vi fokusera på SSML eller Speech Synthesis Markup Language. Detta XML-dokument, även kallad viljan tillåter oss att programmet Cortana och berätta för henne vad att lyssna och vilken typ av fraser bör öppna vår app. Första saker först, låt oss gå vidare och skapa våra SSML dokument.
- Figur 1 - rätt klick på det WP8.1 projektet, klicka på Lägg till och sedan Nytt objekt
- Figur 2 - rulla till hitta mallen Röst befalla Definition och skapa den med ett namn. Jag döpte min ControlCommands.xml
- Klicka på OK för att skapa dokumentet.
Navigera SSML
Detta kan se ut överväldigande vid första anblicken, men det är bara för att mallen är snäll nog att fylla den med massor av exempel. I verkligheten, vi behöver inte en massa här koden, och när du får kläm på det är faktiskt ganska enkelt. Låt oss ta en titt på det första blocket längst upp:
< CommandSet XML: lang = "en-US" >
< CommandPrefix > Contoso Rodeo < / CommandPrefix >
< exempel > spela ett nytt spel < / exempel >
Figur 3
'CommandPrefix' taggen är vad vi pratade om i det sista steget: appens namn som känt av Cortana. Detta inte riktigt ens har för att vara din faktiska app namn, det kan vara något. Jag föreslår något lätt att du ska komma ihåg. Kom ihåg att jag heter denna app "B.A.C.H" så jag kommer att infoga "bach" som min CommandPrefix.
Den ' exempel' taggen är ett förslag till användaren. När de bläddrar igenom Cortana och se alla tillgängliga program, kan det Visa dem föreslagna saker att säga.
Nu radera de andra stora tag block i filen!
Vad? Varför har jag dig att göra? Jo, eftersom vi använder KISS i detta projekt (Keep It Simple Stupid). Med risk för tråkig/retas du ihjäl med alla de olika SSML uppskrivning kan vi använda för Cortana, vi kommer att hålla det enkelt och bara använda vad vi behöver (Dessutom Infoga XML-kod på Instructables är mycket svårt på grund av deras redaktör!).
Så vad behöver vi lägga i? Låt oss sätta in följande kommando block:
< kommandot namn = "DeskLightsOn" >
< exempel > slå på mitt skrivbord ljus < / exempel >
< ListenFor > slå på mitt skrivbord ljus < / ListenFor >
< Feedback > slå på ditt skrivbord ljus... < / Feedback >
< navigera / >
< / kommando >
Så vad fan som händer här?
- Kommando - tag blocket är vad vi refererar till i själva koden. När vi hänvisar till detta senare på, kallar vi det "DeskLightsOn" efter det är name-attribut.
- Exempel här är, återigen, föreslagna tillförsel till användaren för kommandot
- ListenFor - vad frasen triggar"" detta kommando för att "fire". Ganska självförklarande förhoppningsvis.
- Feedback - vad Cortana svarar med (hon faktiskt talar det högt).
- Navigera Detta skulle användas för det vi skulle till en viss sida i appen, men vi är inte, så låt oss lämna det blankt för nu.
Ta en titt på figur 4 se XML-koden för både "På" och "OFF" kommandon för skrivbord ljus. Om du vill kolla in hela koden filen, kan du hämta den från den bifogade filen.
En sista anmärkning
Den ovanstående användningen av Cortana är mycket primitiva, och jag kommer att fullt ut erkänna det finns ganska några saker vi kan göra för att förbättra denna kod. Men detta är inte en instructable om Cortana (kommer snart ändå!), det är helt enkelt en introduktion till henne. Om du vill lära dig att utnyttja och förbättra denna SSML ännu mer, föreslå jag starkt att du kolla in min resurser guide på baksidan av detta instructable!