Lag en tekst til tale app med Swift

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.

  • opprette et nytt prosjekt i Xcode 6

    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.



    Previous: