75才からのモバイルアプリ作成

MIT App Inventor 2 を使ったアプリ作成

MIT App Inventor 2で遊ぶ (Audiobook 1/2)

2024-07-25 08:34:34 | 日記

電子書籍とオーディオブックを合体させたようなもの。

日本語、英語、フランス語、ドイツ語の誰でも知ってる書籍のごくごく一部を読んで聞く。あまり実用的なアプリではないが。。。どの言語の発音も及第点というところか?

アプリ実行のビデオ:

=> 選択した書籍のテキストをtextLabelに表示させた場合。単語の選択などは不可。

=> 選択した書籍のテキストをTextBoxに表示させた場合。この場合は、単語の選択が可能で、翻訳を参照したり、コピー機能なども使える。TextBoxは、通常は、文字、数字などを入力する機能を提供。

なお、フランス語とドイツ語の場合、単語に赤の下線が表示されているものもあるが、理由はわからない。

スクリーンのデザイン:

                                               

ブロック・コード:

1. イソップ童話の名前をリスト形式の変数aesopに格納。この名前に.txtを付ければファイル名となる。

2. 「高瀬舟」が4つのパートに分かれていたので、それぞれのパートの名前をリスト形式の変数katasebuneに格納。この名前をもとにファイル名を選ぶことになる。

3. スクリーンの初期化時に、ListPicker1の表示項目として変数aesopの項目を、ListPicker2の表示項目として変数katasebuneの項目をそれぞれ設定

4. 言語を格納する変数languageStatusを設定

5. ListPicker1より項目を選択した場合、languageStatusをen (英語)に設定し、選択項目名+ .txt を同梱のファイルより読み込む

6. 読み込んだテキストをtextLabelに表示し、変数targetTextに同テキストを格納する。(TextBox1にも読み込んだテキストを表示するようになっているが、こちらを表示した場合のアプリは、上記のビデオの通り。)このtargetTextに格納されたテキストが読み上げられることになる。

7. ListPicker2より項目を選択した場合、変数languageStatusにja (日本語)を設定し、選んだ項目によって読み込むテキストファイルを選択する。同様に、同梱のファイルより選んだファイルを読み込む。高瀬舟は4つのパートに分かれていたのでその通りに作成。

8. 「海底2万里」のボタンをタップした場合は、languageStatusを fr (フランス語)に設定し、所定のファイルを読み込む

9. 「ブレーメンの音楽隊」のボタンをタップした場合は、languageStatusを de (ドイツ語)に設定し、所定のファイルを読み込む

10. 「Read」ボタンをタップすれば、「SpeechRate」と「SpeechPitch」を適宜設定し、各languageStatusに合わせて、TextToSpeechの国、言語を設定していく。設定が終わったら、それぞれのテキスト(変数targetTextに格納してある)を読み上げる。アジアの他の国々の言語、韓国語、中国語、タイ語、ベトナム語なども加えたかったが、適当な書籍をどのようにして見つければ良いのかわからなかったので、今回は残念ながら加えることができなかった。

11. 「Stop」ボタンをタップすると読み上げは中止される。

12. 「Clear Text」ボタンをタップするとテキストは削除される。