SpeechRecognitionActivity.java
Dosyayı İndir
package com.godoro.androidmedia;
import android.content.Intent;
import android.speech.RecognizerIntent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
public class SpeechRecognitionActivity extends AppCompatActivity {
private static final int REQUEST_CODE_RECOGNIZE=999;
private Button recognizeButton;
private ListView recognizedsList;
private Locale turkishLocale = new Locale("tr", "TR");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_speech_recognition);
recognizeButton=findViewById(R.id.recognizeButton);
recognizedsList=findViewById(R.id.recognizedsList);
recognizeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startRecognizerApplication();
}
});
startRecognizerApplication();
}
private void startRecognizerApplication(){
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//intent.putExtra(
// RecognizerIntent.EXTRA_LANGUAGE_MODEL,
// RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "tr");
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "tr-TR");
intent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE,"tr");
startActivityForResult(intent,REQUEST_CODE_RECOGNIZE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_RECOGNIZE && resultCode == RESULT_OK) {
ArrayList<String> textList=data.getStringArrayListExtra(
RecognizerIntent.EXTRA_RESULTS);
for(String text : textList){
Log.i("GodoroAndroid", "Tanınan yazı "+text);
}
ArrayAdapter<String> adapter=new ArrayAdapter<String>(
SpeechRecognitionActivity.this,
android.R.layout.simple_list_item_1,
textList);
recognizedsList.setAdapter(adapter);
}
if(data!=null){
logLanguages(data.getExtras());
}
}
private void logLanguages( Bundle extras) {
if (extras.containsKey(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES))
{
List<String> languages=
extras.getStringArrayList(
RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES);
for(String language : languages){
Log.i("GodoroAndroid","Dil "+language);
}
}
}
}
Dosyayı İndir