Kõne teisendamine tekstiks: kuidas luua lihtsat diktsioonirakendust

Autor: Lewis Jackson
Loomise Kuupäev: 13 Mai 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
Kõne teisendamine tekstiks: kuidas luua lihtsat diktsioonirakendust - Rakendused
Kõne teisendamine tekstiks: kuidas luua lihtsat diktsioonirakendust - Rakendused

Sisu


Paljud rakendused, teenused ja kodumasinad kasutavad kõnetuvastust, et pakkuda paremat kasutajakogemust ja parandada juurdepääsetavust. On lugematu arv Androidi rakendusi, mis kasutavad kõnetuvastust - millest silmapaistvaim on Google Assistant -, miks mitte järgida eeskuju ja lisada see funktsioon omaenda Androidi rakendustesse?

Selles artiklis jagan kiire ja lihtsa viisi, kuidas alustada Androidi kõne-teksti-tahtmist, mis võib olla kasulik paljudes rakendustes. Näiteks võite kõnetuvastust kasutada tüütute käsitsi andmete sisestamise automatiseerimiseks, subtiitrite automaatseks genereerimiseks või isegi tõlkerakenduse alusena, mis „kuulab” häälsisendit, teisendab selle tekstiks, tõlgib selle teksti ja kuvab tulemused kasutaja.

Sõltumata loodud rakenduse tüübist saab kõnetuvastus juurdepääsetavust parandada, pakkudes kasutajatele alternatiivset võimalust teie rakendusega suhelda. Näiteks võib liikumis-, osavus- või nägemisprobleemidega inimestel olla lihtsam liikuda mobiilirakendustes puuteekraani või klaviatuuri asemel häälkäskluste abil. Lisaks on Maailma Terviseorganisatsiooni (WHO) andmetel üle miljardi inimese mingisugune puue, mis moodustab umbes 15% maailma elanikkonnast. Juurdepääsufunktsioonide lisamine rakendustele võib teie potentsiaalset vaatajaskonda märkimisväärselt suurendada.


Selle artikli lõpuks olete loonud lihtsa kõneks muutmise rakenduse, mis salvestab teie hääle, teisendab selle tekstiks ja kuvab selle teksti ekraanil.

Kõne-tekst-kasutajaliidese loomine

Alustamiseks looge uus Androidi projekt, kasutades malli “Tühi tegevus”.

Loome lihtsa rakenduse, mis koosneb nupust, mille koputamisel käivitatakse Androidi kõne-teksti tahtlus ja kuvatakse dialoog, mis näitab, et teie rakendus on valmis kõnesisestust vastu võtma. Kui kasutaja on kõnelemise lõpetanud, teisendatakse tema sisend tekstiks ja kuvatakse see siis TextView osana.

Alustame meie paigutuse loomisega:

See annab meile järgmise paigutuse:


Kõnetuvastuse lisamine oma Androidi rakendusele

Salvestame ja töötleme kõnesisestust kahes etapis:

1. Käivitage rakendus RecognizerIntent

Lihtsaim viis kõneks muutmiseks on kasutada funktsiooni RecognizerIntent.ACTION_RECOGNIZE_SPEECH. See kavatsus palub kasutajal hääle sisestada, käivitades Androidi tuttava mikrofoni dialoogiboksi.

Kui kasutaja lõpetab vestluse, sulgub dialoog automaatselt ja ACTION_RECOGNIZE_SPEECH saadab salvestatud heli kõnetuvastuse kaudu.

Käivitame programmi RecognizerIntent.ACTION_RECOGNIZE_SPEECH, kasutades komplekteeritud lisadega startActivityForResult (). Pange tähele, et kui pole teisiti täpsustatud, kasutab äratundja seadme vaikeloendit.

avalik tühine onClick (vaade v) {// Käivitage RecognizerIntent kavatsus // Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); proovige {startActivityForResult (kavatsus, REQUEST_CODE); } saak (ActivityNotFoundException a) {}}

2. Kõnevastuse saamine

Kui kõnetuvastusoperatsioon on lõpule viidud, saadab ACTION_RECOGNIZE_SPEECH tulemused tagasi helistavasse toimingusse stringide massiivi.

Kuna käivitasime funktsiooni RecognizerIntent käivituseActivityForResult () kaudu, käsitleme tulemuste andmeid, alistades kõnetuvastuskõne algatanud tegevuses onActivityResult (int requestCode, int tulemusCode, kavatsuse andmed).

Tulemused tagastatakse kõnetuvastuse usaldusväärsuse kahanevas järjekorras. Niisiis, veendumaks, et kuvame kõige täpsemat teksti, peame tagastatud ArrayListist võtma nullpositsiooni ja kuvama selle siis oma TextView'is.

@Override // Määratlege meie kavatsetava helistaja tegevuses OnActivityResult meetod // kaitstud tühine onActivityResult (int requestCode, int tulemusCode, kavatsuse andmed) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {juhtum REQUEST_CODE: {// Kui tagastatakse RESULT_OK ... // if (resultCode == RESULT_OK && null! = andmed) {//...laadige siis ArrayList // ArrayList tulemus = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); // Värskendage meie TextView // textOutput.setText (tulemus.get (0)); } vaheaeg; }}}}

Pange tähele, et kõneks tekst ei vaja aktiivset Interneti-ühendust, seega töötab see õigesti ka siis, kui kasutaja on võrguühenduseta.

Pärast kõigi ülaltoodud toimingute tegemist peaks teie MainActivity välja nägema umbes selline:

import android.content.ActivityNotFoundException; impordi androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.content.Intent; import android.speech.RecognizerIntent; impordi android.widget.TextView; import android.view.View; import java.util.ArrayList; avaliku klassi MainActivity laiendab AppCompatActivity {privaatset staatilist lõplikku int REQUEST_CODE = 100; privaatne TextView textOutput; @Kuivata kaitstud tühine onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Seda meetodit kutsutakse siis, kui nupule vajutatakse. proovige {// alustage tegevust ja oodake vastust // startActivityForResult (kavatsus, REQUEST_CODE); } catch (ActivityNotFoundException a) {}} @Override // Tulemuste käsitlemine // kaitstud tühine onActivityResult (int requestCode, int tulemusCode, kavatsuse andmed) {super.onActivityResult (requestCode, resultCode, data); switch (requestCode) {case REQUEST_CODE: {if (resultCode == RESULT_OK && null! = andmed) {ArrayList tulemus = data.getStringArrayListExtra (RecognizerIntent.EXTRA_RESULTS); textOutput.setText (tulemus.get (0)); } vaheaeg; }}}}

Valmis projekti saate alla laadida GitHubist.

Oma projekti testimine

Taotluse proovile panemiseks toimige järgmiselt.

  • Installige oma projekt kas füüsilisse Android-seadmesse või Android-virtuaalseadmesse (AVD). Kui kasutate AVD-d, peab teie arendusmasinal olema kas sisseehitatud mikrofon või võite kasutada välist mikrofoni või peakomplekti.
  • Puudutage rakenduse nuppu „Alusta dikteerimist”.
  • Kui kuvatakse mikrofoni dialoogiboks, rääkige oma seadmest. Mõne hetke pärast peaksid teie sõnad ekraanile ilmuma.

Pakkimine üles

Selles artiklis nägime, kuidas saate kõnesituvastuse abil oma Androidi rakendustele kiiresti ja hõlpsalt kõnetuvastust lisada. Kas olete kohanud mõnda Androidi rakendust, mis kasutab kõnetuvastust üllataval või uuenduslikul viisil?

Järgmine: Google ARCore abil saate luua liitreaalsuse Androidi rakenduse

Möödunud reedel MIUI foorumite oalede teata Xiaomi tootejuht ettevõtte Android Q värkendute tegevukavat.Teekaardi kohaelt aavad 10 Xiaomi ja Redmi eadet Android Q 2019. aata lõ...

Xiaomi on ük ilmapaitvamaid originaaleadmete tootjaid, ke toetab programmi Android One, viimati tarnide Mi A2 eeriat. On täieti mõitlik, et ettevõte pakub el aatal järeltulija...

Populaarsuse Saavutamine