Trung tâm Tin học – ĐH KHTN [Hướng dẫn] Xây dựng ứng dụng chuyển Voice thành Text Trong bài viết này sẽ hướng dẫn xây dựng ứng dụng chuyển Speech thành Text (tiếng Anh) trên Android. Để ứng dụng Speech-to-Text có thể hoạt động, yêu cầu có kết nối Internet. Sau đây là các bước thực hiện: Bước 1: Tạo một Project mới và đặt tên là SpeechToText Bước 2: Mở file res/layout/main.xml và thay đổi các thông tin như sau: <?xml version= "1.0" encoding= "utf-8" ?> <LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android" android:orientation= "vertical" android:layout_width= "fill_parent" android:layout_height= "fill_parent" > <EditText android:layout_height= "wrap_content" android:layout_width= "match_parent" android:id= "@+id/editTextSpeechToText" ></EditText> <Button android:text= "Speech To Text" android:layout_height= "wrap_content" android:layout_width= "wrap_content" android:id= "@+id/buttonSpeechToText" ></Button> </LinearLayout> Bước 3: Mở tập tin src/speechtotext.apk/SpeechToTextActivity.java và thay đổi như sau: package speechtotext.apk; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.os.Bundle; import android.speech.RecognizerIntent; import android.speech.tts.TextToSpeech; Lập trình Android – http://laptrinhdidong.vnPage 1 Trung tâm Tin học – ĐH KHTN import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class SpeechToTextActivity extends Activity { /** Called when the activity is first created. */ private static final int VOICE_RECOGNITION_REQUEST_CODE = 1234; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout. main ); PackageManager pm = getPackageManager(); List<ResolveInfo> activities = pm.queryIntentActivities(new Intent( RecognizerIntent. ACTION_RECOGNIZE_SPEECH ), 0); if (activities.size() == 0) { ((Button)findViewById(R.id. buttonSpeechToText )).setEnabled(false); } else { ((Button)findViewById(R.id. buttonSpeechToText )).setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub if (v.getId() == R.id. buttonSpeechToText ) { startVoiceRecognitionActivity(); } Lập trình Android – http://laptrinhdidong.vnPage 2 Trung tâm Tin học – ĐH KHTN } private void startVoiceRecognitionActivity() { // TODO Auto-generated method stub Intent intent = new Intent(RecognizerIntent. ACTION_RECOGNIZE_SPEECH ); intent.putExtra(RecognizerIntent. EXTRA_LANGUAGE_MODEL , RecognizerIntent. LANGUAGE_MODEL_FREE_FORM ); intent.putExtra(RecognizerIntent. EXTRA_PROMPT , "Speech recognition demo"); startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE ); } } ); } Intent checkIntent = new Intent(); checkIntent.setAction(TextToSpeech.Engine. ACTION_CHECK_TTS_DATA ); startActivityForResult(checkIntent, VOICE_RECOGNITION_REQUEST_CODE ); } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK ) { // Fill the list view with the strings the recognizer thought it could have heard ArrayList<String> matches = data.getStringArrayListExtra( RecognizerIntent. EXTRA_RESULTS ); ((EditText) findViewById(R.id. editTextSpeechToText )).setText(matches.get(0)); } super.onActivityResult(requestCode, resultCode, data); } } Lập trình Android – http://laptrinhdidong.vnPage 3 Trung tâm Tin học – ĐH KHTN Bước 4: Tiến hành Build và cài đặt ứng dụng lên thiết bị. Lưu ý: Để ứng dụng hoạt động được, yêu cầu có kết nối Intenet khi chạy ứng dụng. Mọi ý kiến đóng góp vui lòng gởi vào diễn đàn. http://laptrinhdidong.vn Chúc các bạn thành công. Lập trình Android – http://laptrinhdidong.vnPage 4 . KHTN [Hướng dẫn] Xây dựng ứng dụng chuyển Voice thành Text Trong bài viết này sẽ hướng dẫn xây dựng ứng dụng chuyển Speech thành Text (tiếng Anh) trên Android. Để ứng dụng Speech- to -Text có. đặt ứng dụng lên thiết bị. Lưu ý: Để ứng dụng hoạt động được, yêu cầu có kết nối Intenet khi chạy ứng dụng. Mọi ý kiến đóng góp vui lòng gởi vào diễn đàn. http://laptrinhdidong.vn Chúc các bạn thành. ArrayList<String> matches = data.getStringArrayListExtra( RecognizerIntent. EXTRA_RESULTS ); ((EditText) findViewById(R.id. editTextSpeechToText )).setText(matches.get(0)); } super.onActivityResult(requestCode,