Create en tekst til tale app med Swift 
 33 
 Del 
 18 
 Del 
 Dette Cyber Monday Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av. 
 
 Med utgivelsen av iOS 7, introduserte Apple en tekst til tale API som lar utviklere å legge til tekst til tale-funksjonalitet til et program på en rask og enkel måte. Dette kan være nyttig når du legger til et tilgjengelighets lag til et program eller til å ta det som en funksjon i et læringsspill. I denne opplæringen vil du lære hvordan å implementere en slik funksjon ved hjelp av Swift. 
 
  1 Innledning 
. 
 
 I denne opplæringen vil du lære hvordan å lage en mobilapplikasjon bruker Swift og Xcode 6. Enten du er kjent med Xcode eller ikke, vil denne opplæringen hjelpe deg å bli komfortabel med Apples IDE og Swift programmeringsspråk. Med søknaden, vil brukeren kunne initialisere tekst til tale-funksjonalitet ved å trykke på en knapp på skjermen. Brukeren kan redigere målet teksten i en tekstvisning 
 
 I denne opplæringen vil du lære om følgende aspekter av iOS utvikling. 
 
lage et brukergrensesnitt i Interface Builder
koble elementene i brukergrensesnittet ved hjelp av utsalgs
trigger metoder i brukergrensesnittet ved hjelp av handlinger
2 . Prosjektet Setup
Trinn 1: Prosjekt Mal
 Åpne Xcode og velg  New > Prosjekt ... 
 fra  Fil 
 menyen. Velg  Enkel visning Application 
 fra listen over  iOS Applikasjons 
 maler og klikk  Neste 
. 
 
 
 
 Trinn 2 : Prosjekt Configuration 
 
 navn prosjektet, skriver organisasjonens navn og identifikator. Velg  iPhone 
 fra  Enheter 
 listen, klikker du  Neste 
, og velge hvor du vil lagre prosjektet. Ikke glem å endre språket til  Swift 
. 
 
 3. Brukergrensesnitt 
 
 Brukergrensesnittet i appen er grei. Skjermbildet nedenfor gir deg en idé om kunstverket vi skal bruke, og hvordan den endelige brukergrensesnittet vil ende opp som ser. Du kan finne illustrasjoner og tilleggsressurser i opplæringen sin kildefilene på GitHub 
 
 Trinn 1:. Legg Tekstvisning 
 
 La oss lage tekstvisning som skal inneholde teksten programmet vil konvertere til lyd . Åpne  Main.storyboard Hotell og dra en UITextView objekt fra  Object Library 
 på visningen kontrolleren syn. Du kan endre tekstvisning standardtekst eller la det stå tomt 
 
 Trinn 2:. Legg Button 
 
 En knapp i brukergrensesnittet vil utløse tekst til tale-funksjonalitet. Dra og slipp en UIButton objekt fra  Object Library 
 på visningen kontrolleren syn. Du kan endre knappens tittel eller endre utseendet ved å legge til et bilde i  Attributter Inspector 
. 
 
 4. Import AVFoundation 
 
 Hvis du vil bruke tekst til tale API, trenger vi tilgang til AVSpeechSynthesizer klassen, som er en del av  AVFoundation 
 rammeverk. Velg prosjekt i Xcode og gå til  Koblede Rammer og biblioteker 
 delen på bunnen av  kategorien Generelt 
. Klikk på pluss-knappen og velg  AVFoundation 
 ramme fra listen. 
 
Åpne ViewController.swift Hotell og legge til følgende kode rett under import UIKit linje. Anmeldelser import AVFoundation
 Dette vil gjøre klassene av  AVFoundation 
 rammeverket tilgjengelig i ViewController klasse, noe som gir oss tilgang til AVSpeechSynthesizer klasse som vi trenger i en liten stund. 
 
 5. Tekstvisning Outlet 
 
 For å få tilgang til tekstvisning i ViewController klasse, må vi opprette en stikkontakt og wire det opp i Interface Builder. En stikkontakt er en eiendom som du kan sette i Interface Builder. 
 
 Åpne  Assistent Editor 
 ved å velge  Assistent Editor 
 fra  Vis 
 menyen. Den lar oss vise brukergrensesnittet til ViewController klasse på venstresiden og gjennomføringen til høyre. Sørg Xcode viser  ViewController.swift 
 filen til høyre. 
 
 I  Interface Builder 
, skape et utløp for tekstvisning av kontroll-dra fra teksten utsikt til kode editor til høyre. Du vil merke en blå linje, som angir hvor Xcode vil sette utløp for tekstvisning. 
 
 Når du slipper museknappen, vil Xcode vise deg en dialogboks der du kan angi navn for uttaket. Navngi utløp textView og klikk  Koble 
. 
 
 Du kan gjenkjenne uttak avIBOutlet kompilatoren direktivet. Dette forteller kompilatoren at textView er en referanse til UITextView objektet vi opprettet i Interface Builder. Dette betyr at enhver endring vi gjør i textView reflekteres i UITextView objekt i brukergrensesnittet 
IBOutlet svak Var textView:.! UITextView 
 Du vil merke to søkeord følgende kompilatoren direktivet, svak og var. Den svake søkeord er et attributt som brukes for referanser som ikke trenger oppbevaring. Dette er ofte brukt for uttak, siden de blir beholdt av sin Super, utsikten controller syn i denne saken. 
 
 Den andre søkeord, var, indikerer at textView er en variabel i motsetning til en konstant. Variabelnavnet er etterfulgt av et kolon og variabelens type. 
 
 6. Tale Variabler 
 
 Under textView utløp, vi erklære en konstant, synth, og en variabel, myUtterance. Utleid nøkkelord indikerer at synth er deklarert som en konstant. Det betyr at verdien av synth ikke kan endres 
 la synth = AVSpeechSynthesizer () Var myUtterance = AVSpeechUtterance. (String: "") 
 synth konstant holder en referanse til en AVSpeechSynthesizer eksempel. Den myUtterance variable holder streng at vi vil konvertere til tale litt senere. 
 
 7. Legge til en handling 
 
 Knappen i brukergrensesnittet skal utløse en metode som heter TextToSpeech. For å oppnå dette, må vi opprette en handling ved hjelp avIBAction typen kvalifiseringskamp. Som brukerIBAction typen kvalifiseringen, vil metoden dukke opp i Interface Builder som en handling. La oss se hvordan dette fungerer. 
 
 Åpne  Assistent Editor Hotell og sørge for at XIB filen vises på venstre og ViewController klassen til høyre. Velg knappen i  Interface Builder Hotell og kontroll-drag fra knappen til ViewController klasse på høyre, som vist nedenfor. 
 
 Xcode vil vise deg en lignende dialog. Denne gangen, derimot, er det tilkoblingstype  Handling 
. Navn handlingen TextToSpeech, sørg for  Hendelses 
 er satt til  Touch Up Inside 
, og klikk  Koble 
. 
 
 Som et resultat, Xcode vil skape en funksjon eller metode eller handling for deg som ser ut som den som vises nedenfor. Handlingen startes når brukeren kraner knappen 
IBAction func TextToSpeech (avsender: UIButton). {} 
 func søkeord erklærer en funksjon eller metode. I dette tilfellet er navnet på funksjonen er TextToSpeech. Du vil også merke en avsender parameter av typen UIButton, som henviser til UIButton vi skapt i Interface Builder. 
 
 8. Implementering TextToSpeech 
 
 Den neste blokk med kode håndterer tekst til tale-konvertering når brukeren kraner knappen 
IBAction func TextToSpeech (avsender: UIButton). {MyUtterance = AVSpeechUtterance (string: textView.text) myUtterance .rate = 0,3 synth.speakUtterance (myUtterance)} 
 Vi først opprette en AVSpeechUtterance eksempel ved passering i teksten i textView objektet i konstruktøren. I neste linje, setter vi kursen eller hastigheten som ytring vil bli talt. Jo lavere rente, vil jo saktere tale være. Til slutt, vi kaller den speakUtterance metoden på AVSpeechSynthesizer eksempel bestått i myUtterance objektet. Dette vil starte tekst til tale 
 
 Dette er hva hele den ViewController klassen skulle gjerne 
 import UIKitimport AVFoundationclass ViewController:.. UIViewController {IBOutlet svak Var textView: UITextView! la synth = AVSpeechSynthesizer () Var myUtterance = AVSpeechUtterance (string: "") overstyring func viewDidLoad () {super.viewDidLoad () //Gjør noe ekstra oppsett etter lasting utsikten, vanligvis fra en spiss. } Overstyring func didReceiveMemoryWarning () {super.didReceiveMemoryWarning () //Kast noen ressurser som kan gjenskapes. }IBAction Func TextToSpeech (avsender: UIButton) {myUtterance = AVSpeechUtterance (string: textView.text) myUtterance.rate = 0,3 synth.speakUtterance (myUtterance)}} 
 9. Testing i Simulator 
 
 Det er på tide å teste vår søknad i iOS Simulator. Trykk  Kommando-R 
 eller trykker på play-knappen øverst til venstre for å kjøre programmet. Test app ved å legge inn en streng i tekstvisning og trykke på knappen nederst. 
 
 Konklusjon 
 
I denne opplæringen, har vi lært å implementere tekst til tale på iOS, bruker Interface Builder, lage uttak og handlinger. Jeg oppfordrer deg til å eksperimentere med resultatet og tilpasse app for å gjøre den til din egen. Jeg håper du likte denne opplæringen, og fant den nyttig.

