SORU
11 HAZİRAN 2011, CUMARTESİ


Nasıl android telefon can sıkıcı iletişim olmadan konuşma tanıma kullanabilir miyim

Bu olası değişiklik olmadan android API? Bu konuda bir makale buldum. Bir android API değişiklikler yapmam gereken bir açıklama var. Ama bu değişikliği yapmak için nasıl bir şey söylemedi. Biri bana bunu nasıl bazı öneriler verebilir? Teşekkürler!


Bu makale buldum; SpeechRecognizer Onun ihtiyacı benimkiyle hemen hemen aynı. Benim için iyi bir referans.


Tamamen bu sorunun çözümü var.
Kullanılabilir örnek bir kod from this China websiteGoogle'da arattım İşte benim kaynak kodu

package voice.recognition.test;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.speech.RecognitionListener;
import android.speech.RecognizerIntent;
import android.speech.SpeechRecognizer;
import android.widget.Button;
import android.widget.TextView;
import java.util.ArrayList;
import android.util.Log;



public class voiceRecognitionTest extends Activity implements OnClickListener 
{

   private TextView mText;
   private SpeechRecognizer sr;
   private static final String TAG = "MyStt3Activity";
   @Override
   public void onCreate(Bundle savedInstanceState) 
   {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button speakButton = (Button) findViewById(R.id.btn_speak);     
            mText = (TextView) findViewById(R.id.textView1);     
            speakButton.setOnClickListener(this);
            sr = SpeechRecognizer.createSpeechRecognizer(this);       
            sr.setRecognitionListener(new listener());        
   }

   class listener implements RecognitionListener          
   {
            public void onReadyForSpeech(Bundle params)
            {
                     Log.d(TAG, "onReadyForSpeech");
            }
            public void onBeginningOfSpeech()
            {
                     Log.d(TAG, "onBeginningOfSpeech");
            }
            public void onRmsChanged(float rmsdB)
            {
                     Log.d(TAG, "onRmsChanged");
            }
            public void onBufferReceived(byte[] buffer)
            {
                     Log.d(TAG, "onBufferReceived");
            }
            public void onEndOfSpeech()
            {
                     Log.d(TAG, "onEndofSpeech");
            }
            public void onError(int error)
            {
                     Log.d(TAG,  "error "    error);
                     mText.setText("error "   error);
            }
            public void onResults(Bundle results)                   
            {
                     String str = new String();
                     Log.d(TAG, "onResults "   results);
                     ArrayList data = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
                     for (int i = 0; i < data.size(); i  )
                     {
                               Log.d(TAG, "result "   data.get(i));
                               str  = data.get(i);
                     }
                     mText.setText("results: " String.valueOf(data.size()));        
            }
            public void onPartialResults(Bundle partialResults)
            {
                     Log.d(TAG, "onPartialResults");
            }
            public void onEvent(int eventType, Bundle params)
            {
                     Log.d(TAG, "onEvent "   eventType);
            }
   }
   public void onClick(View v) {
            if (v.getId() == R.id.btn_speak) 
            {
                Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);        
                intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
                intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,"voice.recognition.test");

                intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS,5); 
                     sr.startListening(intent);
                     Log.i("111111","11111111");
            }
   }
}

Elbette hata ayıklama sonra can sıkıcı Günlükleri silmek için!

CEVAP
11 HAZİRAN 2011, CUMARTESİ


SpeechRecognizer arabirim kullanın. Uygulamanız RECORD_AUDİO izni olması gerekir, ve sonra bir SpeechRecognizer oluşturmak, RecognitionListener ve startListening yöntemi çağırın. Konuşma alır ve metin dönüştürür konuşma tanıyıcı konuşma dinlemeye başlamak için hazır olduğunda dinleyici ve geri alacaksınız.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Kassem G

    Kassem G

    25 EKİM 2006
  • Machinima

    Machinima

    17 Ocak 2006
  • ThePointblank

    ThePointblan

    18 Aralık 2006