차례:
- 3 가지 유형의 음성 제어
- 사용자가 Android Watch에 "메모 기록"이라고 말하면 결과 텍스트가 인 텐트를 통해 앱에 전송됩니다. 해당 인 텐트를 캡처하려면 인 텐트와 일치하는 활동 및 인 텐트 필터를 생성해야합니다.
- 세계에서 음성 인식기 활동의 출력을 얻는 것이 가장 쉬운 방법입니다. TakeVoiceNote 활동을 추가하고 인 텐트에서 텍스트를 검색하면됩니다.
- 음성 액션 API는 매우 간단하지만이를 사용하려면 Google Play 서비스 API를 설정해야하며 사용하기가 다소 복잡합니다.
- finish ();
비디오: 구글 vs 애플 받아쓰기 음성인식 비교 2024
Android Wear 시계가 있습니까? 그렇다면, 당신은 아마 그것을 좋아할 것이며, 당신은 이미 키보드가 없다는 것을 눈치 챘을 것입니다. 그렇지 않다면 하나를 찾으십시오. 기다릴게.
Android Wear 개발자 인 경우 Android Wear의 대부분의 앱은 일반적으로 읽기 전용임을 알고 있어야합니다. Android Wear 앱은 필요한 특정 작업에 대한 알림을받는 데 유용하지만 복잡한 작업을 수행하려는 경우 휴대 전화를 꺼내 시계 대신 가볍게 뺄 수 있습니다.
음성 규칙은이 규칙의 한 가지 흥미로운 예외입니다. 음성 받아쓰기 기능을 사용하면 키보드를 사용하지 않고도 손목 시계에 정보를 쉽게 "입력"할 수 있습니다.
여기에서는 음성을 사용하여 데이터베이스에 새 항목을 추가하는 방법을 학습합니다.
3 가지 유형의 음성 제어
Android Wear는 3 가지 유형의 음성 제어 기능을 제공합니다.
-
"메모 찍기"또는 "택시 / 택시 호출"과 같은 시스템 제공 음성 액션.
-
자유 형식 음성 받아쓰기
-
시스템에서 제공하는 음성 액션이 가장 편리합니다 사용자를위한 그들은 사용자가 새로운 음성 안내를 배우지 않아도되며 어디에서나 "그냥 작동"합니다. Android에 내장 된 음성 액션 중 하나가 앱에 적합한 경우 이것이 최선의 방법입니다.
자유형 음성 받아쓰기 옵션은 매우 강력한 옵션이지만 사용자가 앱을 사용하려면 앱에 이미 있어야합니다. Android Wear 앱을 시작하는 방법이 항상 명확하지는 않기 때문에이 옵션은 좋지만 덜 일반적입니다.
Android Wear에는 시스템에서 제공하는 '메모 저장'작업이 있으므로이 기능을 사용하여 앱에 Task를 추가하십시오.
인 텐트 필터 설정
사용자가 Android Watch에 "메모 기록"이라고 말하면 결과 텍스트가 인 텐트를 통해 앱에 전송됩니다. 해당 인 텐트를 캡처하려면 인 텐트와 일치하는 활동 및 인 텐트 필터를 생성해야합니다.
AndroidManifest에 TakeVoiceNote 활동을 추가하십시오. xml을 작성하고 SELF_NOTE 인 텐트를 캡처하는 인 텐트 필터를 등록하십시오.
음성 텍스트 가져 오기
세계에서 음성 인식기 활동의 출력을 얻는 것이 가장 쉬운 방법입니다. TakeVoiceNote 활동을 추가하고 인 텐트에서 텍스트를 검색하면됩니다.
public class TakeVoiceNote extends Activity {@Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); String voiceNote = getIntent (). getStringExtra (의도적 인 EXTRA_TEXT);}}
그게 다야! 사용자가 말한 것이 무엇이든지간에 그것은 voiceNote 변수에 기록되어 있습니다.
이제 까다로운 부분은 그 텍스트로 무엇을 할 것인가입니다.
Google Play에 대한 연결 열기
음성 액션 API는 매우 간단하지만이를 사용하려면 Google Play 서비스 API를 설정해야하며 사용하기가 다소 복잡합니다.
Google Play 서비스 위치 API를 프로젝트에 추가하려면 빌드에 다음 종속성을 지정합니다. 구성 파일:
종속성 {compile 'com. 구글. 기계적 인조 인간. gms: play-services-wearable: 6. 5. 87 '}
다음으로 AndroidManifest에 다음을 추가하십시오. xml:
android: name =
" /> Google Play 서비스에 연결하려면 활동에 다음을 추가합니다. // Google API 클라이언트,
웨어러블 서비스 GoogleApiClient googleApiClient; @Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); googleApiClient = new GoogleApiClient. 작성자 (this). addConnectionCallbacks (this) . addOnConnectionFailedListener (this) . addApi (Wearable. API) 짓다(); …} @Override public void onStart () {super. onStart (); googleApiClient. 잇다(); } @Override public void onStop () { googleApiClient. disconnect (); 슈퍼. onStop ();} 휴대 전화 앱과 착용 앱의 애플리케이션 ID는 동일해야합니다. 서로 다르면 연결이 설정되지 않습니다. 이 코드는 onCreate ()에 새로운 GoogleApiClient 객체를 만들어 Google Play 서비스에 연결 한 다음 onStart ()에서 연결하고 onStop ()에서 연결을 끊습니다. GoogleApiClient는 연결이 설정되면이를 알리기 위해 콜백 객체를 필요로하므로 콜백을 액티비티에 추가해야합니다.public class TakeVoiceNote는 Activity가 GoogleApiClient를 구현하도록 확장합니다. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener
@Override
public
voidonConnected (번들 connectionHint) { // Google에 서비스 서비스! // 이 는 는 새로운 작업을 // 데이터베이스에 있습니다. @Override public void onConnectionSuspended (int 원인) // Google Play < 연결 이 중단되었습니다. // 모든 UI 구성 요소 가 Google / API 에 의존 할 때까지 onConnected () 가 호출됩니다. // 여기 예 는 필요하지 않으며 는 여기 필요하지 않다. @Override public void onConnectionFailed (ConnectionResult 결과) // 이 콜백 > // Google // // > // https: // developer를 참조하십시오. 기계적 인조 인간. co.kr / google / auth / api-client. html } } 축하합니다! 이제 활동이 중지되면 자동으로 연결을 끊을 Google Play 서비스에 대한 연결을 올바르게 설정했습니다. 다음 단계는 전화에 새로운 작업을 생성하도록 요청하는 것입니다. 휴대 전화에 새 작업 추가를 요청합니다. Google Play에 연결되었으므로 다음 단계는 휴대 전화에 음성 텍스트를 전송하여 휴대 전화가 새로운 작업을 추가 할 수있게하는 것입니다 작업을 데이터베이스에 저장합니다. 음성 받아쓰기 내용으로 휴대 전화로 메시지를 보내려면 활동의 onConnected () 메소드를 업데이트하십시오. public class TakeVoiceNote extends Activity는 GoogleApiClient를 구현합니다. ConnectionCallbacks, GoogleApiClient. OnConnectionFailedListener {// 핸드셋에서 수행하려는 // 작업을 식별하는 // 경로 (URI와 같은 종류)입니다. private static final String PATH_ADD_TASK = " / addTask "; … @Override public void onConnected (번들 번들) { 로그. "(" TakeVoiceNote ", " onConnected "); // 음성 인식 텍스트는 // intent String voiceNote = getIntent ()를 통해 전달됩니다. getStringExtra (의도.EXTRA_TEXT); // 문자열을 바이트로 변환 최종 바이트 [] voiceNoteBytes = voiceNote. getBytes (Charset. forName (" utf-8 "))); // 연결된 re // 모든 장치의 목록을 가져옵니다. 보통 이것은 // 전화 일뿐입니다. 다른 기기는 내 메시지를 무시합니다. 착용 가능. NodeApi. getConnectedNodes (googleApiClient). (노드 노드: 노드. getNodes ()) { 에 대한 { }}}}}}}}}} setResultCallback (< // 데이터베이스에 작업을 추가하라는 메시지를 전화기로 전송합니다. Wearable. MessageApi. sendMessage (googleApiClient, 노드.getId (), PATH_ADD_TASK, voiceNoteBytes
);
}finish ();
}
}
); } } 전화로 새 작업 만들기 -할 일은 요청시 새 작업을 만들 수 있도록 휴대 전화에서 메시지를 청취하는 것입니다. 간단한 WearableListenerService로이 작업을 수행 할 것입니다. AddTaskWearableListenerService라는 새 클래스를 만들고 다음 코드를 추가합니다. public class AddTaskWearableListenerService extends WearableListenerService {// TakeVoiceNote의 문자열과 일치해야합니다. private static final String PATH_ADD_TASK = "/ addTask"; @Override public void onMessageReceived (MessageEvent messageEvent) {if (PATH_ADD_TASK.== String = new String (messageEvent.getData (), Charset. forName ("utf-8")) ==이 이벤트가 발생했을 때,; ContentValues 값 = 새로운 ContentValues (); 값. put (COLUMN_TITLE, title); 값. put (COLUMN_DATE_TIME, System. currentTimeMillis ()); // getContentResolver (). insert (CONTENT_URI, values);}}} 데이터베이스에 작업을 삽입합니다. 테스트 해보세요! 휴대 전화 앱의 AndroidManifest.xml에 에뮬레이터를 사용하는 경우 Android Wear 기기를 Android 휴대 전화에 연결하려는 경우 작동이 시작되면 Android Wear를 탭하여 작업 메뉴를 표시 한 다음 메모 작성 옵션을 클릭합니다. > 시계 에뮬레이터를 사용하는 경우 응답을 입력하십시오. 메모가 저장되면 휴대 전화에서 할 일 목록 앱을 가져 오면 새 항목이 표시됩니다: 축하합니다! 음성 메모를 성공적으로 작성하고 작업 앱에 저장했습니다. Android 및 Android Wear 플랫폼에서 음성 컨트롤로 할 수있는 모든 재미있는 것들이 있습니다., c Android 개발자 웹 사이트의 알림 기사에 음성 기능 추가 및 음성 입력 받기를 읽어보십시오. 해피 해킹!