2014-03-18 4 views
2

두 개의 편집 상자와 각 단추가 있습니다.두 개의 단추를 두 개의 편집 문구에 사용하는 음성 인식기

첫 번째 단추를 클릭하면 음성 인식기를 부르려고하고 결과가 첫 번째 editext 상자에 들어가고 두 번째 단추가 두 번째 edittext 상자를 채 웁니다.

다음 코드

public void speech1(View view) { 
    final int REQUEST_CODE = 1; 
    Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US"); 
    try { 
     startActivityForResult(i, REQUEST_CODE); 
    } catch (Exception e) { 
    Toast.makeText(this, "Error initializing speech to text engine.", Toast.LENGTH_LONG).show(); 
    } 
} 
public void speech2(View view) { 
    final int REQUEST_CODE = 2; 
    Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US"); 
    try { 
     startActivityForResult(i, REQUEST_CODE); 
    } catch (Exception e) { 
     Toast.makeText(this, "Error initializing speech to text engine.",  Toast.LENGTH_LONG).show(); 
    } 
} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    ArrayList<String> thingsYouSaid = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
    if(REQUEST_CODE==1){ 
     EditText editText = (EditText)findViewById(R.id.speechText1); 
     editText.setText(thingsYouSaid.get(0), TextView.BufferType.EDITABLE); 
    } 

    if(REQUEST_CODE==2){   
     EditText editText = (EditText)findViewById(R.id.speechText2); 
     editText.setText(thingsYouSaid.get(0), TextView.BufferType.EDITABLE); 
    } 
} 
을 사용하고 그것은 늘 그냥 빈 튜토리얼 찾고있다 잎 올바른 글고 상자에 입력하지만,이 개 음성 입력

답변

1

하지

의 예를 찾을 수 없습니다

당신의 인생에서 모든 것이 튜토리얼에 의해 설명되고 때로는 당신 자신을 생각하고 싶어합니다. 특정 경우 문제는 전역 변수 RESULT_CODE 대신하여 onActivityResult의 지역 인수,

if(REQUEST_CODE==1){ 
    EditText editText = (EditText)findViewById(R.id.speechText1); 

대신 요청 코드는 인수를 통해 전달됩니다

if(requestCode==1){ 
    EditText editText = (EditText)findViewById(R.id.speechText1); 

해야합니다를 비교하는 것입니다 , 당신은 그것을 사용해야합니다.

+0

정말 고마워요. – user3422687

관련 문제