마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

tts 기능 사용시 setEngineByPackageName Api 16이상일 경우 사용법 질문

0 추천
  List<TextToSpeech.EngineInfo> engineInfoList = tts.getEngines();
  tts.setEngineByPackageName("com.google.android.tts");

'setEngineByPackageName(java.lang.String)' is deprecated as of API 16: Android 4.1 (Jelly Bean) less... (Ctrl+F1) 
Inspection info: Reports where deprecated code is used in the specified inspection scope.

tts엔진리스트를 받아와서 google tts로 사용하려고 했는데 setEngineByPackageName이 이제는 사용안한다고 하네요..

방법이 없을까요? ㅜㅜ 어제부터 계속 해메는중입니다..

루비 (1,040 포인트) 님이 2019년 5월 8일 질문

1개의 답변

0 추천

java doc 설명에  This method was deprecated in API level 15. This doesn't inform callers when the TTS engine has been initialized. TextToSpeech(android.content.Context, android.speech.tts.TextToSpeech.OnInitListener, java.lang.String) can be used with the appropriate engine name. Also, there is no guarantee that the engine specified will be loaded. If it isn't installed or disabled, the user / system wide defaults will apply.

라 되어 있네요..

 

public TextToSpeech (Context context, 
                TextToSpeech.OnInitListener listener, 
                String engine)

설명대로라면 생성자의 engine 값에   "com.google.android.tts"를 주시면 단말에 이 패키지가 설치 되어 있으면 이 엔진으로 설치 되어 있지 않으면 단말 기본 엔진으로 TTS가 기동될 듯 합니다.

익명사용자 님이 2019년 5월 8일 답변
...