App Inventor學習記錄(6.1)-用語音辨視及Yandex翻譯,做即時翻譯的APP

這次會用到三個新東西,語音辨視、文字轉語音以及 Yandex翻譯的元件,這三個元件組合一下,就可以做出一個簡單的即時翻譯的APP

記錄一下:
App Inventor學習記錄(6.1)-用語音辨視及Yandex翻譯,做即時翻譯的APP


首先來看一下畫面設計的部份。
我放了兩個按鈕,分別是中翻英以及英翻中,這兩個我最常用到。
再來兩個標籤,分別顯示原文和譯文的部份。
最下面就是這次要用到的三個看不見的元件,也是這個即時翻譯最重要的三個元件。
SpeechRecognizer:語音辨視
TextToSpeech:文字轉語音
YandexTranslate:Yandex語言翻譯器

你說為什麼不用 GOOGLE翻譯就好,因為 appinventor中內建的 yandex翻譯功能是免費的,如果要用 google翻譯的話,好像還要申請 API,而且還會產生費用。先不說費用的部份,什麼是 API我到現在都還搞不太懂。等我學會了再來介紹。


接著進入到程式設計的部份。
這裡我新增了一個輸入語言的變數,來判斷要轉換的語系是什麼。

當中翻英按鈕被按下的時候,就把輸入語言這個變數設定成 1。
當英翻中按鈕被按下的時候,就把輸入語言這個變數設定成 2。
然後,我們就呼叫 SpeechRecognizer.辨識語音的功能。讓系統辨視我們的語音內容。


當 SpeechRecognizer辨識完成之後,做一個判斷式。
如果輸入語言的值是 1的話,
就呼叫 YandexTranslate請求翻譯的功能,把語音辨視的結果,翻譯成英文。
然後把原文標籤的文字,改成 SpeechRecognizer辨視出來的結果。

同理,如果輸入語言的值是 2的話,
就呼叫 YandexTranslate請求翻譯的功能,把語音辨視的結果,翻譯成中文。
然後把原文標籤的文字,改成 SpeechRecognizer辨視出來的結果。


既然是即時翻譯,當然要讓它給唸出來。所以我們最後再加上一小段程式。
當 YandexTranslate.取得翻譯,也就是已經英翻中或是中翻英了之後,我們就呼叫文字轉語音的功能,把它翻譯後的內容給唸出來,然後再把譯文標籤的文字,設定成YandexTranslate翻譯後的結果。


這個 APP目前是拿來給嘟哥練習說英文用的,其實 GOOGLE翻譯也可以用,但小孩就是會搞怪,連 GOOGLE翻譯也可以拿來玩一些奇奇怪怪的東西。乾脆就是只留最簡單的功能,讓他能夠專心一點。

大家也可以直接掃描 QR CODE安裝試用。

範例的 aia檔,也提供下載點,讓大家參考
ex_6_translate.aia下載

發表迴響