2013-06-24 30 views
6

Tôi muốn thực hiện một nút khi được nhấp vào sẽ kích hoạt lời nói của Android cho trình dịch văn bản giống như bản dịch được cung cấp bởi bàn phím của Android. Cụ thể, tôi muốn một nút sẽ có ứng dụng phiên âm những gì người dùng đang nói trong thời gian thực và ghi lại từng từ (thời gian thực) trong một hộp editText. Điều gì sẽ là cách tốt nhất để thực hiện việc này?Làm cách nào để kích hoạt lời nói thành văn bản bằng một nút?

Cảm ơn

Trả lời

2

Nếu bạn chưa kiểm tra Voice Recognition mẫu trong Api demos của bạn, bạn nên đi trước và kiểm tra xem nó. Nó sẽ cho bạn một khởi đầu. Các bản trình diễn có sẵn trong thư mục /android-sdk/samples/.... Nếu bạn chưa cài đặt chúng, dưới đây là cách bạn có thể how to install android api demo app into my phone.

Có đang theo dõi (bất kỳ nhiều người khác) hướng dẫn cũng sẽ giúp bạn bắt đầu:

1) Android Voice Recognition Tutorial

2) Android: Speech To Text using API

Tiếp theo có thể là một tốt đọc cũng như:

Add Text-To-Speech and Speech Recognition to Your Android ApplicationsUsing the Android Speech Recognition APIs.

Hy vọng điều này sẽ hữu ích.

+0

Cảm ơn, tôi sẽ có một cái nhìn vào họ. –

+0

NICE! # 2 hoàn toàn làm việc cho tôi. Hài hước, bởi vì đã có một biểu tượng micrô kích hoạt bằng giọng nói trong bàn phím điện thoại Android của chúng tôi. Khi bạn nhấp vào bên trong một 'EditText' trong một ứng dụng, ví dụ, nếu bạn nhấp vào biểu tượng micrô trên bàn phím của bạn, nó sẽ chỉ tự động bắt đầu dictating giọng nói của bạn để' EditText' của bạn. Không cần bất kỳ mã nào cả! Tuy nhiên, không phải tất cả mọi người đều biết về điều này và giải thích nó trong một câu sẽ là khó xử trong các hạn chế nhỏ của một giao diện người dùng, vì vậy phương pháp này hoạt động tốt! Cảm ơn! – Azurespot

0

Trong ứng dụng của bạn, bạn gọi startActivityForResult() bằng cách sử dụng hành động ACTION_RECOGNIZE_SPEECH. Điều này bắt đầu hoạt động nhận dạng giọng nói và sau đó bạn có thể xử lý kết quả trong onActivityResult().

private static final int SPEECH_REQUEST_CODE = 0; 

// Create an intent that can start the Speech Recognizer activity 
private void displaySpeechRecognizer() { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
// Start the activity, the intent will be populated with the speech text 
    startActivityForResult(intent, SPEECH_REQUEST_CODE); 
} 

// This callback is invoked when the Speech Recognizer returns. 
// This is where you process the intent and extract the speech text from the intent. 
@Override 
protected void onActivityResult(int requestCode, int resultCode, 
     Intent data) { 
    if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) { 
     List<String> results = data.getStringArrayListExtra(
       RecognizerIntent.EXTRA_RESULTS); 
     String spokenText = results.get(0); 
     // Do something with spokenText 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

Thông tin thêm có thể được tìm thấy trong reference

Các vấn đề liên quan