日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android实现TTS语音播报

發(fā)布時間:2023/12/20 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android实现TTS语音播报 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TTS工具類:

public class SystemTTS {private static SystemTTS singleton;private Context mContext;//核心播放對象private TextToSpeech textToSpeech;private boolean isSupport = true;private static final String TAG = "SystemTTS";private boolean isFirstPlay = false;private SystemTTS(Context context) {this.mContext = context.getApplicationContext();textToSpeech = new TextToSpeech(mContext, new TextToSpeech.OnInitListener() {@Overridepublic void onInit(int i) {//textToSpeech的配置init(i);isFirstPlay = false;}});}public static SystemTTS getInstance(Context context) {if (singleton == null) {synchronized (SystemTTS.class) {if (singleton == null) {singleton = new SystemTTS(context);}}}return singleton;}//textToSpeech的配置private void init(int i) {if (i == TextToSpeech.SUCCESS) {int result = textToSpeech.setLanguage(Locale.CHINESE);// 設(shè)置音調(diào),值越大聲音越尖(女生),值越小則變成男聲,1.0是常規(guī)if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {//系統(tǒng)不支持中文播報isSupport = false;} else {textToSpeech.setPitch(1.0f);textToSpeech.setSpeechRate(1.0f);} }}public boolean play(String text) {boolean ret=false;if (!isSupport) {Toast.makeText(mContext, "TTS不支持", Toast.LENGTH_SHORT).show();ret=true;}if (textToSpeech != null) {if(!isFirstPlay){speak(text);isFirstPlay = true;ret=true;}else{if(!textToSpeech.isSpeaking()){speak(text);ret=true;}}}return ret;}private void speak(String text){textToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null, null);textToSpeech.setOnUtteranceProgressListener(new UtteranceProgressListener() {@Overridepublic void onStart(String utteranceId) {Log.d(TAG, "播放開始");}@Overridepublic void onDone(String utteranceId) {Log.d(TAG, "播放結(jié)束");}@Overridepublic void onError(String utteranceId) {Log.d(TAG, "播放出錯");}});}public void stop() {if (textToSpeech != null) {textToSpeech.stop();}}public boolean TTsIsSpeeking() {return textToSpeech.isSpeaking();}public void destroy() {stop();if (textToSpeech != null) {textToSpeech.shutdown();}} }

有些android手機上面自帶的語音引擎是Pico不支持中文,需要自己下載一個tts引擎,然后在無障礙->文字轉(zhuǎn)語音TTS->首選引擎設(shè)置為自己安裝的引擎。

總結(jié)

以上是生活随笔為你收集整理的Android实现TTS语音播报的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。