![5 geriausios iš anksto įdiegtos naudingos „Windows“ programos](https://i.ytimg.com/vi/n0Q9j9jICbE/hqdefault.jpg)
Turinys
- „Kalbos į tekstą“ vartotojo sąsajos kūrimas
- Kalbos atpažinimo pridėjimas prie „Android“ programos
- 1. Paleiskite „RecognizerIntent“
- 2. Kalbos atsakymo gavimas
- Savo projekto išbandymas
- Apvyniojimas
Daugelis programų, paslaugų ir buitinių prietaisų naudoja kalbėjimo atpažinimą, kad suteiktų geresnę vartotojo patirtį ir pagerintų prieinamumą. Yra daugybė „Android“ programų, naudojančių kalbos atpažinimą - iš kurių žinomiausias yra „Google Assistant“ - tad kodėl gi nesilaikant pavyzdžio ir pridedant šią funkciją prie savo „Android“ programų?
Šiame straipsnyje pasidalinsiu greitu ir lengvu būdu, kaip pradėti naudoti „Android“ kalbėjimo į tekstą ketinimus, kurie gali būti naudingi daugelyje programų. Pvz., Galite naudoti kalbos atpažinimą, norėdami automatizuoti varginantį rankinį duomenų įvedimą, automatiškai sugeneruoti subtitrus ar net kaip vertimo programos, kuri „klauso“ balso įvestį, paverčia ją tekstu, tada išverčia šį tekstą ir rezultatus pateikia vertimo pagrindu, vertimo pagrindu. Vartotojas.
Nepaisant to, kokią programą kuriate, kalbos atpažinimas gali pagerinti prieinamumą, suteikdamas vartotojams alternatyvų būdą sąveikai su jūsų programa. Pvz., Žmonėms, turintiems judėjimo, miklumo ar regėjimo problemų, gali būti lengviau naršyti mobiliose programose naudojant balso komandas, o ne jutiklinį ekraną ar klaviatūrą. Be to, pasak Pasaulio sveikatos organizacijos (PSO), daugiau nei milijardas žmonių turi kokią nors negalią - tai sudaro apie 15% pasaulio gyventojų. Pridėję prieinamumo funkcijas prie savo programų, galite žymiai padidinti jūsų potencialią auditoriją.
Pasibaigus šiam straipsniui, jūs sukūrėte paprastą kalbėjimo į tekstą programą, kuri įrašo jūsų balsą, paverčia jį tekstu ir tada rodo jį ekrane.
„Kalbos į tekstą“ vartotojo sąsajos kūrimas
Norėdami pradėti, sukurkite naują „Android“ projektą naudodami šabloną „Tuščia veikla“.
Mes sukursime paprastą programą, kurią sudarys mygtukas, kuris palietus suaktyvins „Android“ kalbėjimo į tekstą intenciją ir parodys dialogo langą, nurodantį, kad jūsų programa yra pasirengusi priimti kalbos įvestį. Kai vartotojas baigs kalbėti, jo įvestis bus paversta tekstu, o tada rodoma kaip „TextView“ dalis.
Pradėkime nuo mūsų maketo sukūrimo:
Tai suteikia mums tokį išdėstymą:
Kalbos atpažinimo pridėjimas prie „Android“ programos
Kalbos įvestis fiksuojama ir apdorojama dviem etapais:
1. Paleiskite „RecognizerIntent“
Paprasčiausias būdas konvertuoti kalbą į tekstą yra naudoti programą „RecognizerIntent.ACTION_RECOGNIZE_SPEECH“. Šis ketinimas ragina vartotoją įvesti balsą paleidžiant pažįstamą „Android“ mikrofono dialogo langą.
Kai vartotojas nustos kalbėti, dialogas bus uždarytas automatiškai ir ACTION_RECOGNIZE_SPEECH išsiųs įrašytą garsą per kalbos atpažinimo funkciją.
Mes pradedame „RecognizerIntent.ACTION_RECOGNIZE_SPEECH“ naudodami „startActivityForResult“ () kartu su priedais. Atminkite, kad jei nenurodyta kitaip, atpažinimo priemonė naudos numatytąją įrenginio lokalę.
„public void onClick“ (vaizdas v) {// Suaktyvinti „RecognizerIntent“ ketinimą // „Intent intent“ = naujas ketinimas („RecognizerIntent.ACTION_RECOGNIZE_SPEECH“); pabandykite {startActivityForResult (ketinimas, REQUEST_CODE); } pagauk (ActivityNotFoundException a) {}}
2. Kalbos atsakymo gavimas
Kai kalbos atpažinimo operacija bus baigta, ACTION_RECOGNIZE_SPEECH siųs rezultatus atgal į kvietimą vykdančią veiklą kaip stygų masyvą.
Kadangi mes suaktyvinome „RecognizerIntent“ per „startActivityForResult“ (), rezultatų duomenis tvarkome valdydami „OnActivityResult“ (int requestCode, int rezultato kodas, ketinimų duomenys), vykdydami veiklą, kuri inicijavo kalbos atpažinimo kvietimą.
Rezultatai grąžinami mažėjančia tvarka pagal kalbos atpažinimo priemonės pasitikėjimą. Taigi, norėdami įsitikinti, kad rodome tiksliausią tekstą, turime grąžinti nulinę poziciją iš grąžinto „ArrayList“, tada rodyti jį „TextView“.
@Override // Apibrėžkite OnActivityResult metodą mūsų ketinamame skambintojo veikloje // apsaugota negaliojanti onActivityResult (int requestCode, int rezultātsCode, ketinimų duomenys) {super.onActivityResult (requestCode, rezultato kodas, duomenys); jungiklis (requestCode) {atvejis REQUEST_CODE: {// Jei grąžinamas RESULT_OK ... // if (resultCode == REZULTATAS_OK && null! = duomenys) {//... tada gaukite „ArrayList“ // ArrayList Atminkite, kad kalbėjimui prie teksto nereikia aktyvaus interneto ryšio, todėl jis veiks tinkamai, net kai vartotojas neprisijungęs. Atlikę visus aukščiau aprašytus veiksmus, „MainActivity“ turėtų atrodyti taip: importuoti android.content.ActivityNotFoundException; importuoti „androidx.appcompat.app.AppCompatActivity“; importuoti android.os.Bundle; importuoti android.content.Intent; importuoti „android.speech.RecognizerIntent“; importuoti „android.widget.TextView“; importuoti android.view.View; importuoti java.util.ArrayList; viešosios klasės „MainActivity“ išplečia „AppCompatActivity“ {privatus statinis galutinis int REQUEST_CODE = 100; privati „TextView“ teksto išvestis; @Apsaugoti negaliojantį „onCreate“ (Bundle saveInstanceState) {super.onCreate (savedInstanceState); „setContentView“ (R.layout.activity_main); textOutput = („TextView“) „findViewById“ (R.id.textOutput); } // Šis metodas vadinamas paspaudus mygtuką // „public void onClick“ (vaizdas v) // Sukurkite intenciją atlikdami „RecognizerIntent.ACTION_RECOGNIZE_SPEECH“ veiksmą // {Intent intent = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); pabandykite {// pradėti veiklą ir laukite atsakymo // startActivityForResult (ketinimas, REQUEST_CODE); } pagauti (ActivityNotFoundException a) {}} @Override // Tvarkykite rezultatus // apsaugota negaliojanti onActivityResult (int requestCode, int rezultātsCode, ketinimų duomenys) {super.onActivityResult (requestCode, rezultato kodas, duomenys); jungiklis (requestCode) {atvejis REQUEST_CODE: {if (resultCode == RESULT_OK && null! = duomenys) {ArrayList Galite atsisiųsti baigtą projektą iš „GitHub“. Norėdami išbandyti savo paraišką: Šiame straipsnyje mes pamatėme, kaip galite greitai ir lengvai pridėti kalbos atpažinimą prie „Android“ programų, naudodami kalbėjimo į tekstą intenciją. Ar esate susidūrę su „Android“ programomis, kurios stebėjimo ar novatoriškais būdais naudoja kalbos atpažinimą? Kitas: Sukurkite papildytos realybės „Android“ programą naudodami „Google ARCore“Savo projekto išbandymas
Apvyniojimas