2012-08-02 3 views
0

요약하면, 위젯을 클릭하면 위젯 내에 저장된 주소를 읽는 Android 위젯을 만들고 싶습니다.AppWidgetProvider에서 음성 텍스트 시작

아래에 게시 한 텍스트에 음성을 사용하는이 link의 답변을 살펴본 후 유사한 방식으로 텍스트를 음성으로 처리 할 수 ​​있는지 여부를 알고 싶습니다.

// this intent points to activity that should handle results 
Intent activityIntent = new Intent(context, ResultsActivity.class); 
// this intent wraps results activity intent 
PendingIntent resultsPendingIntent = PendingIntent.getActivity(context, 0, activityIntent, 0); 

// this intent calls the speech recognition 
Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
voiceIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
voiceIntent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo"); 
voiceIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
voiceIntent.putExtra(RecognizerIntent.EXTRA_RESULTS_PENDINGINTENT, resultsPendingIntent); 

// this intent wraps voice recognition intent 
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, voiceIntent, 0); 
rv.setOnClickPendingIntent(R.id.btn, pendingIntent); 

답변

0

텍스트 음성 변환 및 음성 인식이 다른 방식으로 작동합니다. 음성 인식은 별도의 활동이므로 의도를 통해 사용해야합니다. 그러나 활동을 떠나지 않고도 텍스트를 음성으로 처리 할 수 ​​있습니다.

텍스트를 말하기 만하는 자신 만의 활동을 만든 다음 게시 한 코드의 수정 된 버전을 사용하여 같은 방식으로 텍스트를 말하기도하지만 네가하고 싶어하는지 모르겠다. TTS를하기 위해 다른 활동으로 가고 싶은 이유가 있습니까? 동일한 활동 내에서 머무르는 것이 더 간단합니다.

+0

AppWidgetProvider 클래스에서 텍스트 음성 변환 기능을 만들고 싶었지만 Actvity 클래스에서 음성 텍스트 예제 만 보았고 AppWidgetProvider 클래스에서이를 수행 할 수 있는지 궁금해했습니다. 위젯이 TTS를 수행 할 수있는 서비스를 만들어야 할 것 같습니다. 답변을 주셔서 감사합니다 :) – consprice