2017-11-15 12 views
1

내가 작업하고있는 Android TV (ATV) 앱에는 음성 제어 기능이 있습니다. 기본적으로 사용자가 리모컨의 마이크 버튼을 누르면 키 이벤트 (KeyEvent.KEYCODE_SEARCH)가 앱에서 처리되고 음성 인식이 시작되어 (android.speech.SpeechRecognizer을 사용하여) 결과 (구문 분석 된 음성)를 가져 와서 앱에서 더 이상 구문 분석합니다 논리 (예 : 사용자 검색 결과 표시 또는 일부 인앱 조치 수행)Android TV 앱에서 Google Assistant가 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 마이크 버튼 신호 인수에서 구글 길잡이를 방지 할 수있다?
  • 괜찮습니까? ("not ok"에 의해 나는 그러한 행동을 방해하는 공식 가이드 라인이 있습니까? 아니면 적어도 그렇게하지 않는 유효한 이유가 있습니까?)
  • 그렇다면 수행 할 수 있습니까?
  • 그렇지 않은 경우 GA와 통합하는 방법을 설명하는 리소스가 있습니까 (Spotify for ATV 앱의 방식)?

답변

0

마지막 질문으로 시작 :

하지 않을 경우, GA (수행 ATV 응용 프로그램을위한 길 스포티 파이)와 통합하는 방법을 문서화 자원이?

Android Developer's Blog에 통합하는 방법을 썼습니다. Spotify는 onboarded their content catalog to Google's services이므로 Google Assistant가 그토록 잘 작동합니다. 앱을 검색 가능하게 만들면 비슷한 결과를 얻을 수 있습니다 (블로그에서 다룹니다).

Google Assistant가 RCU 마이크 버튼 신호를 인계받지 못하게 할 수 있습니까?

아니요, 지금은 아닙니다.Google Assistant는 모든 앱에서 동일한 경험을 제공하기 위해 마이크를 제어하는 ​​시스템 앱입니다.

괜찮습니까? ("not ok"로 말하면, 그러한 행동을 방해하는 공식 가이드 라인이 있습니까? 아니면 적어도 그렇게하지 않는 유효한 이유가 있습니까?)

만약 그렇다면 그것을 할 수 있습니까?

여전히 in-app search의 경험을 할 수 있습니다. 희박한 샘플에 예제가 있습니다. set a listener on a BrowseFragment이 필요하고 SearchFragment을 구현해야합니다. Google 검색 결과가 혼동을 줄 수 있고 인앱 검색 및 Google Assistant 검색이 경쟁 할 수 있음을 알고 있지만이를 개선하는 방법을 연구 중입니다.