Zmiany

Skocz do: nawigacji, wyszukiwania

Scenariusz 8 - Tłumacz głosu

Dodane 2248 bajtów, 10:17, 24 mar 2017
/* Zaprogramowanie aplikacji */
===== Zaprogramowanie aplikacji =====
 
Czas przejść do zakładki Blocks. Programowanie naszej aplikacji zaczniemy od przypisania funkcji komponentowi button1. Zaczynamy od wybrania z kategorii Blocks/Screen1/Button1 '''whenButton1Click''', do którego włożymy blok callSpeechRecognizer1.getText (znajdziemy go w SpeechRecognizer1). Spowoduje to wywołanie funkcji rozpoznawania mowy w telefonie.
 
[[Plik:Tłumacz3.PNG]]
 
''Rys.3 Programowanie Button1''
 
 
[[Plik:Tłumacz4.PNG]]
 
''Rys.4 Cały skrypt Button1''
 
 
Kolejnym krokiem będzie wyświetlenie na ekranie tego, co powiedzieliśmy po kliknięciu Button1. Do tego posłuży nam Label1, za pomocą którego wyświetlimy jako tekst to, co usłyszał nasz telefon. Może się to okazać pomocne przy weryfikowaniu, czy funkcja rozpoznawania głosu dobrze nas usłyszała i rozpoznała, co powiedzieliśmy.
 
Wybieramy '''WhenSpeechRecognizer.afterGettingText''' i do środka wstawiamy '''setLabel1.textTo''' oraz '''getResult'''. GetResult jest zmienną lokalną, więc wyciągniemy ją, najeżdżając myszką na result w klocku '''WhenSpeechRecognizer.afterGettingText'''.
 
Do tego warto pomyśleć o tym, aby metka Label1 pozostała czysta przed kliknięciem Button1 – ustawimy więc wartość Label1 na pustą. Posłuży nam do tego pusty string (" ") czyli pole z pustym tekstem, które znajdziemy w kategorii Text.
 
[[Plik:Tłumacz5.PNG]]
 
''Rys.5 Kod przekazywania rozpoznanego tekstu mówionego do tekstu pisanego oraz czyszczenie Label1''
 
 
Jeżeli nasz program prawidłowo rozpoznaje i zapisuje to, co powiedzieliśmy, czas zaprogramować funkcję tłumaczenia. Będziemy chcieli, aby nasz program tłumaczył z języka polskiego na język angielski. Wykorzystamy do tego komponent '''YandexTranslate'''. Wywoływać go będziemy poprzez kliknięcie '''Button2''', a tłumaczony będzie tekst zapisany w '''Label1'''.
 
Potrzebujemy więc bloczka '''WhenButton2.Click''' oraz '''CallYandexTranslate1.RequestTranslation'''.
 
CallYandexTranslate1.RequestTranslation ma miejsce na przyłączenie dwóch bloczków:
* '''languageToTranslateTo''' - tutaj wpiszemy z jakiego języka na jaki chcemy tłumaczyć np. "pl-en".
* '''textToTranslate''' - tutaj przyłączymy label1.text z którego pobierzemy tekst do tłumaczenia.
 
[[Plik:Freepik.jpeg|left|mały]]
1495
edycji