![Криптовалюта | На чём сделают миллионы в 2022 | TON Coin](https://i.ytimg.com/vi/Ddc0nabFvTw/hqdefault.jpg)
Nilalaman
- Ang pagbuo ng isang interface ng gumagamit ng Speech-to-Text
- Pagdaragdag ng pagkilala sa pagsasalita sa iyong Android app
- 1. Simulan ang Pagkilala saIntent
- 2. Tumatanggap ng tugon sa pagsasalita
- Pagsubok sa iyong proyekto
- Pagputol
Maraming mga app, serbisyo, at mga gadget ng sambahayan ang gumagamit ng pagkilala sa pagsasalita upang magbigay ng isang mas mahusay na karanasan ng gumagamit at mapabuti ang kakayahang mai-access. Maraming mga app ng Android na gumagamit ng pagkilala sa pagsasalita - ang pinaka-kapansin-pansin sa kung saan ay ang Google Assistant - kaya bakit hindi sumunod sa suit at idagdag ang tampok na ito sa iyong sariling mga aplikasyon sa Android?
Sa artikulong ito, magbabahagi ako ng isang mabilis at madaling paraan upang makapagsimula sa Intentong-to-Text Inten ng Android, na maaaring maging kapaki-pakinabang sa isang malawak na hanay ng mga aplikasyon. Halimbawa, maaari mong gamitin ang pagkilala sa pagsasalita upang i-automate ang nakakapagod na manu-manong pagpasok ng data, awtomatikong bubuo ng mga subtitle, o kahit na ang batayan para sa isang translation app na "nakikinig" sa pag-input ng boses, nag-convert ito sa teksto, pagkatapos ay isinalin ang teksto na ito at ipinapakita ang mga resulta sa ang gumagamit.
Anuman ang uri ng application na nilikha mo, maaaring mapabuti ang pagkilala sa pagsasalita sa pamamagitan ng pagbibigay ng mga gumagamit ng isang alternatibong paraan upang makipag-ugnay sa iyong app. Halimbawa, ang mga taong may kadaliang mapakilos, dexterity, o mga isyu sa paningin ay maaaring mas madaling mag-navigate sa mga mobile application gamit ang mga utos ng boses, sa halip na ang touchscreen o keyboard. Dagdag pa, ayon sa World Health Organization (WHO), higit sa isang bilyong tao ang may ilang anyo ng kapansanan, na katumbas ng halos 15% ng populasyon ng mundo. Ang pagdaragdag ng mga tampok ng pag-access sa iyong mga aplikasyon ay maaaring makabuluhang taasan ang iyong potensyal na madla.
Sa pagtatapos ng artikulong ito, gagawa ka ng isang simpleng application na Speech-to-Text na nagtatala ng iyong boses, i-convert ito sa teksto at pagkatapos ay ipinapakita ang teksto na nasa screen.
Ang pagbuo ng isang interface ng gumagamit ng Speech-to-Text
Upang magsimula, lumikha ng isang bagong proyekto sa Android gamit ang template na "Walang laman na Gawain".
Lumilikha kami ng isang simpleng application na binubuo ng isang pindutan na, kapag na-tap, nag-trigger ng Intent-to-Text na Inten ng Android at ipinapakita ang isang diyalogo na nagpapahiwatig na handa na ang iyong app na tanggapin ang input input. Kapag natapos na ang pagsasalita ng gumagamit, ang kanilang input ay mai-convert sa teksto, at pagkatapos ay ipapakita bilang bahagi ng isang TextView.
Magsimula tayo sa pamamagitan ng paglikha ng aming layout:
Nagbibigay ito sa amin ng sumusunod na layout:
Pagdaragdag ng pagkilala sa pagsasalita sa iyong Android app
Kinukuha namin at pinoproseso ang input ng pagsasalita sa dalawang hakbang:
1. Simulan ang Pagkilala saIntent
Ang pinakamadaling paraan upang maisagawa ang conversion ng Speech-to-Text ay ang paggamit ng RecognizerIntent.ACTION_RECOGNIZE_SPEECH. Itinulak ng Intentong ito ang gumagamit para sa pag-input ng boses sa pamamagitan ng paglulunsad ng pamilyar na kahon ng diyalogo ng mikropono ng Android.
Kapag tumigil na ang pakikipag-usap sa gumagamit, awtomatikong isasara ang diyalogo at ipapadala ng ACTION_RECOGNIZE_SPEECH ang naitala na audio sa pamamagitan ng isang pagkilala sa pagsasalita.
Sinisimulan namin ang RecognizerIntent.ACTION_RECOGNIZE_SPEECH gamit ang startActivityForResult () na may mga bundle na mga extra. Tandaan na maliban kung tinukoy sa ibang paraan, gagamitin ng nagpapakilala ang default na lokal na aparato.
pampublikong walang bisa saMag-click (Tingnan ang v) {// Trigger the RecognizerIntent intensyon // Intent intent = bagong Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); subukang {startActivityForResult (intensyon, REQUEST_CODE); } mahuli (AktibidadNotFoundException a) {}}
2. Tumatanggap ng tugon sa pagsasalita
Kapag nakumpleto ang operasyon ng pagkilala sa pagsasalita, ACTION_RECOGNIZE_SPEECH ay magpapadala ng mga resulta pabalik sa pagtawag sa Aktibidad bilang isang Array ng mga string.
Dahil na-trigger namin ang RecognizerIntent sa pamamagitan ng startActivityForResult (), hawakan namin ang data ng resulta sa pamamagitan ng overriding onActivityResult (int requestCode, int resultCode, Intent data) sa Gawain na nagsimula ng tawag sa pagkilala sa pagsasalita.
Ang mga resulta ay ibabalik sa pababang pagkakasunud-sunod ng kumpyansa ng pagkilala sa pagsasalita. Kaya, upang matiyak na ipinapakita namin ang pinaka tumpak na teksto na kailangan naming kunin ang zero na posisyon mula sa naibalik na ArrayList, pagkatapos ay ipakita ito sa aming TextView.
@Override // Tukuyin ang isang paraan ng OnActivityResult sa aming intensyong tumatawag na Aktibidad // protektado ng walang bisa saActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (kahilinganCode, resultaCode, data); lumipat (requestCode) {kaso REQUEST_CODE: {// Kung ang RESULT_OK ay ibabalik ... // kung (resultaCode == RESULT_OK && null! = data) {//... pagkatapos makuha ang ArrayList // ArrayList Tandaan na ang Speech-to-Text ay hindi nangangailangan ng isang aktibong koneksyon sa internet, kaya gagana ito nang tama kahit na ang gumagamit ay naka-offline. Matapos makumpleto ang lahat ng mga hakbang sa itaas, ang iyong MainActivity ay dapat magmukhang ganito: i-import ang android.content.ActivityNotFoundException; i-import ang androidx.appcompat.app.AppCompatActivity; i-import ang android.os.Bundle; mag-import ng android.content.Intent; i-import ang android.speech.RecognizerIntent; mag-import ng android.widget.TextView; i-import ang android.view.View; pag-import ng java.util.ArrayList; pampublikong klase MainActivity ay umaabot ng AppCompatActivity {pribado static panghuling int REQUEST_CODE = 100; pribadong TextView textOutput; Protektado ng @Override na walang bisa saCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState); setContentView (R.layout.activity_main); textOutput = (TextView) findViewById (R.id.textOutput); } // Ang pamamaraang ito ay tinawag gamit ang pindutan ay pinindot // pampublikong walang bisa saClick (Tingnan ang v) // Gumawa ng isang intensyong may "RecognizerIntent.ACTION_RECOGNIZE_SPEECH" aksyon // {Intent inten = new Intent (RecognizerIntent.ACTION_RECOGNIZE_SPEECH); subukang {// Simulan ang Aktibidad at hintayin ang sagot // startActivityForResult (layunin, REQUEST_CODE); } mahuli (AktibidadNotFoundException a) {}} @Override // Pangasiwaan ang mga resulta // protektado na walang bisa saActivityResult (int requestCode, int resultCode, Intent data) {super.onActivityResult (kahilinganCode, resultCode, data); switch (requestCode) {kaso REQUEST_CODE: {kung (resultCode == RESULT_OK && null! = data) {ArrayList Maaari mong i-download ang nakumpletong proyekto mula sa GitHub. Upang masubukan ang iyong aplikasyon: Sa artikulong ito, nakita namin kung paano mo mabilis at madaling magdagdag ng pagkilala sa pagsasalita sa iyong mga aplikasyon sa Android, gamit ang Intentong-Speech-to-Text. Nakaranas ka ba ng anumang mga Android apps na gumagamit ng pagkilala sa pagsasalita sa nakakagulat o makabagong mga paraan? Susunod: Bumuo ng isang pinalaki na katotohanan ng Android app sa Google ARCorePagsubok sa iyong proyekto
Pagputol