今Unity作成しているアプリで“音声認識機能”を使い文字を出力することを取り組んでいるのでいるのですが、これが突然使えなくなって困ったお話です。
自分の場合は回避方法が意外なところにあったのでそちら利用することにしました。いやまぁ、やりたいことが出来るのは良いのですが悩んでた日々のことを考えるとね……。というオチもあります(笑)
Androidネイティブプラグイン
aarの用意
まずはAndroid Studioを使用して“aarファイル”を用意しUnityとAndroidを連携させます。
AndroidのリソースとAndroidManifestファイルを含むフォーマット。
参考にさせていただいたのはこちらのサイト様。
後に出てくる“音声認識”でも自分のやりたかったこと殆どやっていらっしゃったのでメッチャ参考にさせていただきました。ありがとうございます。
Minimum SDK
のバージョンには注意を払いつつ。自分の場合は幸運なのか、致命的なエラーもなくaarデータを作成することはできました。
音声認識機能を準備
同じく以下の記事を参考にさせていただきました。本当にありがたい。
実際にこの記事を参考にしたのは今年の4月ごろで、その頃は自分のアプリでも問題なくしっかり動いていたんです。記事の正確さとわかりやすさで、自分でもネイティブプラグイン化してUnityでも使用できたわけです。
問題が起きたのはその後
夏の間はちょっと他の作業などをしていたので特に触っていなかったのですが、つい最近改めてアプリの開発を始めたときに機能していないことに気がついたのでした。
Unityではビルドは通ってはいて、アプリの起動も問題なくAndroidでできる。単純に音声認識が始まらない。
はてはてはて・・・・・・? 何が原因だぁと考えて思い当たるのはUnityのバージョンをあげたことかなぁ?とは思ってるのですが仮定にすぎず確信はない。
じゃあどこまで動いてる? 調べていくと、「AndroidJavaClass」でプラグイン内のクラスを読むあたり以下が機能してない様子。
もしかしてパッケージ名・クラス名間違ってるのか? いろいろ試したけどやっぱりダメっぽい。そもそも普通にクラス指定してあげるだけだよねぇ??
いっそaarではなくjarで試してみる? これも結局ダメでした。
もっと機能が簡素なaarではどうか? うごかねぇ……。
他他他とまぁ見当違いの事もあわせて結構いろいろやってみたさね。それでもウンともスンとも起動しやがらねぇ~。
じゃぁどうしたの?(オチ)
いろいろと、どうしよう。あーしよう。と悩んでた昨今、ふと入力の為のキーボードの上部横にあるアイコンに気がついた。
そうマイクのアイコン。
あーAndroidのキーボードにマイクのアイコンあったなぁ~(脳みそボケボケ)と思いつつ、ちょっと押してみる。
「なんでも話してみてください」の表示
そして、音声を認識して文字の出力をするAndroid
……ッ!?(覚醒)
えーこれやんけ、これで出来るやんけー。なんも悩む必要なんてなかったんやー(血涙ッ)
――というわけで、どんなわけで。
そんなところに常時出ていたのね(マイクのアイコン)……ありがとうAndroid。
すべてはこれで事足りた。というね(放心)
おわりに
結局は自分のアプリでやりたかったことは、Androidにふつーにあるキーボード入力にひっそりあるマイクアイコンの音声入力で事足りたわけでaarは必要なくなってしまいました。
まぁネイティブプラグインがどんなものでどうやれば良いのかが、ほんのちょっとでも理解できたのが収穫ってことで、その日は泣きながら寝ました。シクシク。
スポンサーリンク
人気記事
コメント