在Android中使用TextToSpeech需要以下步骤:
在AndroidManifest.xml文件中添加以下权限:<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" />
在Activity或Fragment中初始化TextToSpeech对象:private TextToSpeech textToSpeech;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);textToSpeech = new TextToSpeech(this, new TextToSpeech.OnInitListener() {@Overridepublic void onInit(int status) {if (status == TextToSpeech.SUCCESS) {int result = textToSpeech.setLanguage(Locale.US); // 设置语言为英语if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {Log.e("TTS", "Language not supported");}} else {Log.e("TTS", "Initialization failed");}}});}
调用TextToSpeech对象的speak方法进行文本转语音:textToSpeech.speak("Hello, World!", TextToSpeech.QUEUE_FLUSH, null);
注意,在使用完TextToSpeech后要记得在Activity或Fragment的onDestroy方法中释放TextToSpeech资源:
@Overrideprotected void onDestroy() {if (textToSpeech != null) {textToSpeech.stop();textToSpeech.shutdown();}super.onDestroy();}
这样就可以在Android中使用TextToSpeech进行文本转语音了。