Computer >> 컴퓨터 >  >> 프로그램 작성 >> Android

Android 음성을 텍스트로 통합하는 방법은 무엇입니까?

<시간/>

Android는 RecognizerIntent.ACTION_RECOGNIZE_SPEECH를 사용하여 API를 말하는 Google 내장 텍스트를 지원합니다. 이 예에서는 Android 음성을 텍스트에 통합하는 방법을 보여줍니다.

1단계 − Android Studio에서 새 프로젝트를 생성하고 파일 ⇒ 새 프로젝트로 이동하여 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.

2단계 − res/layout/activity_main.xml에 다음 코드를 추가합니다.

      

이 위의 코드에서 우리는 하나의 텍스트 보기와 이미지 보기를 만들었습니다. 사용자가 이미지 보기를 클릭하면 Google Speech to Text API를 호출하고 텍스트 보기에 텍스트를 추가합니다.

3단계 − src/MainActivity.java

에 다음 코드 추가
패키지 com.example.andy.myapplication;import android.content.ActivityNotFoundException;import android.content.Intent;import android.speech.RecognizerIntent;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v7 .app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;import java. util.Locale, public class MainActivity extends AppCompatActivity { private final int REQ_CODE =100; 텍스트뷰 텍스트뷰; @Override protected void onCreate(Bundle storedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView =findViewById(R.id.text); ImageView 말하기 =findViewById(R.id.speak); speak.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent =new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_intent.FREE_Extent); .EXTRA_LANGUAGE, Locale.getDefault());intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "말해야 함"); try { startActivityForResult(intent, REQ_CODE); } catch(ActivityNotFoundException a) { Toast.makeText(getApplicationContext(), " 죄송합니다. 지원되지 않는 기기입니다.", Toast.LENGTH_SHORT).show(); } } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent 데이터) { super.onActivityResult(requestCode, resultCode, 데이터); switch (requestCode) { case REQ_CODE:{ if (resultCode ==RESULT_OK &&null ! =data) { ArrayList 결과 =data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); textView.setText(결과.get(0)); } 부서지다; } } }}

위의 코드에서 사용자가 이미지 보기를 클릭하면 아래와 같이 인텐트를 호출합니다. -

의도 의도 =new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE() Locale.getRe.getRe. "말해야 합니다");try { startActivityForResult(intent, REQ_CODE);} catch (ActivityNotFoundException a) { Toast.makeText(getApplicationContext(), "장치가 지원되지 않아 죄송합니다.", Toast.LENGTH_SHORT).show();} 

위의 코드에서 우리는 Google API라고 하며 아래와 같이 onActivityResult()에 대한 결과를 얻습니다. -

@Overrideprotected 무효 onActivityResult(int requestCode, int resultCode, Intent 데이터) { super.onActivityResult(requestCode, resultCode, 데이터); switch (requestCode) { case REQ_CODE:{ if (resultCode ==RESULT_OK &&null ! =data) { ArrayList 결과 =data .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); textView.setText(결과.get(0)); } 부서지다; } }}

위의 코드에서 결과를 Array List로 가져오므로 배열 목록에서 0 위치를 가져와 텍스트 보기에 추가합니다.

응용 프로그램을 실행해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고 도구 모음에서 실행 아이콘을 클릭합니다. 모바일 장치를 옵션으로 선택한 다음 기본 화면을 표시할 모바일 장치를 확인하십시오 -

Android 음성을 텍스트로 통합하는 방법은 무엇입니까?

사용자가 마이크 버튼을 클릭하면 아래와 같이 Google API를 호출합니다. -

Android 음성을 텍스트로 통합하는 방법은 무엇입니까?

이제 "Hey GOOGLE"로 입력했습니다. 아래와 같이 결과를 추가합니다 -

Android 음성을 텍스트로 통합하는 방법은 무엇입니까?