2017-11-15 4 views
1

私が取り組んでいるAndroid TV(ATV)アプリには音声制御機能があります。基本的に、ユーザがリモコンのマイクボタンを押すと、キーイベント(KeyEvent.KEYCODE_SEARCH)がアプリケーションによって処理され、音声認識が開始され(android.speech.SpeechRecognizerを使用)、その結果(解析された音声)が取得され、さらにアプリケーションによって解析されますロジック(例:ユーザーの検索結果の表示やアプリ内アクションの実行)Google TV AssistantがAndroid TVアプリでRCUマイクボタンの信号を引き継ぐのを防ぐことはできますか?

非常に最近、Google Assistant(GA)がATVプラットフォーム(最初はNvidia Shieldボックス)に導入されるまで、意図したとおりに動作しています。 RCUのマイクボタンを押すと、GAオーバーレイが表示され、マイクのキーイベントはアプリに届きません。

私はいくつかの広範な研究(ドキュメンテーション、インターネット、フォーラム、stackoverflowなど)を行い、いくつかの潜在的な回避策を試しましたが、これまでに何もできませんでした。トピックに関する情報(多分ATV + GAの組み合わせが現場では新しく、ATVの生態系がAndroidのように大きくないためです)。

私がこれまでに得た最も良いヒントは、Spotify app for Android TVで行われたことです。 GAを搭載していないATVデバイス上で動作すると、基本的には上記のように動作します。 GAが存在する場合は、GAオーバーレイが表示され、解析されたスピーチを受け取り、Spotifyの結果が最初の行に表示されるため、SpotifyアプリはGAと統合され、この統合によってアプリ内音声コントロールが置き換えられます機構。これは、マイクのキーイベントを受信し、いつものように音声コントロールを続行するために、アプリケーション内のGAを無視/無効にする方法がないか、少なくとも音声コマンドを処理するための好ましい方法であることを示唆しています。また、私が記述した方法で音声制御に近づくATV用のアプリもあることを示しています。だから、ここで誰かがすでに同様の問題に遭遇している可能性があります。

私の質問(複数可):

  • それはRCUマイクボタン信号を引き継ぐからGoogleのアシスタントを防止することができるのですか?
  • これは問題ありませんか? ( "not ok"によると、このような行動を阻止する正式なガイドラインはありますか?そうでないと正当な理由がありますか?)
  • もしそうなら、それはできますか?
  • もしそうでなければ、GAとの統合方法(ATVアプリケーションのためのSpotifyのやり方)を文書化したリソースはありますか?

答えて

0

あなたの最後の質問を皮切り:

ない場合は、GA(いATVアプリへの道Spotifyは)と統合する方法を文書化するリソースがありますか?

私はAndroid Developer's Blogにどのように統合するかについて書いています。 Spotifyはonboarded their content catalog to Google's servicesを持っています。そのため、Google Assistantはうまく機能します。アプリを検索可能にすると(ブログで説明されている)、同様の結果が得られます。

GoogleアシスタントがRCUマイクボタンの信号を引き継ぐのを防ぐことはできますか?

いいえ、現時点ではありません。Google Assistantは、すべてのアプリで均一な体験を提供するためにマイクを制御するシステムアプリです。

これは問題ありませんか? (「いいえ」という意味では、そうした行動を阻止する正式なガイドラインはありますか?そうでないと正当な理由がありますか?)

もしそうなら、それはできますか?

あなたはまだin-app searchの経験を持つことができます。 leanbackサンプルには例があります。 set a listener on a BrowseFragmentが必要で、SearchFragmentを実装する必要があります。これが混乱し、アプリ内検索とGoogleアシスタントの検索が競合する可能性があることがわかりましたが、Googleではこれを改善する方法を検討しています。

関連する問題