こんにちは、針山散策を今日もほのぼのと行います。
音声認識してアプリを操作したいというユーザがいたので
音声認識の処理を実装すると、どういう振る舞いが発生するのかを調べてみました。
ソースは、以下のページが非常に参考になりました。
単発版 音声機能を追加する
https://akira-watson.com/android/recognizerintent.html
Android Developper Studio用
https://developer.android.com/training/wearables/apps/voice.html?utm_campaign=building-for-wear-215&utm_source=dac&utm_medium=blog&hl=ja
音声取得開始"startActivityForResult()"を実行すると、
「どうぞお話ください」に相当するメッセージが出ます。
java.utilパッケージにある言語種類を指定してあげると
音声取得で取り込んだデータがある程度正確にListに取り込まれます。
言語種類の指定例
Locale.JAPAN.toString()
次に、連続で音声認識しようとしてみました。
[連続版 音声機能を追加する]
以下のページを参考にしました
https://kivantium.hateblo.jp/entry/2016/02/29/191901
単発ならよいのですが、言語取得処理を連続で呼び出そうとしてみましたが
連続だと、onError()メソッド(RecognitionListener()の継承クラス内で定義)
にERROR_INSUFFICIENT_PERMISSIONS(9)
が入ってきます。
AndroidManifest.xmlに
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
としているからよいと思うのですが、一体何が原因なのでしょうか。
ちなみに、Android OS :8.0 (OREO)なのでApi Levelは26迄okです。
[今日のひとこと]
中国が、オーストラリアの石炭に多額の関税をかけることで輸入ストップ
しているようです。
それによって、中国が電力不足になっているらしいです。。
自国経済制裁ですか?(もしかして、既に財政破綻間際なのですか)
医療ひっ迫で、コロナ感染も前回を上回るんじゃないかと
危惧します。
日本が中国に菌をうつしたら悪いので来ないでくださいね。