1. 程式人生 > >Android TTS 支援中文

Android TTS 支援中文

最近專案需求,要在android裡面實現語音轉文字朗讀,TTS,於是上網各種搜尋,比較好的是android有自帶原生的api可以直接使用,android.speech.tts.TextToSpeech。封裝一個java類方便使用,程式碼如下:

package dione.healthclub;

import android.content.Context;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import android.widget.Toast;
import java.util.Locale;

public class AJTextToSpeech implements TextToSpeech.OnInitListener {

    private Context mContext;
    private TextToSpeech mTTS;


    public  AJTextToSpeech(Context context){
        mContext = context;
        mTTS = new TextToSpeech(mContext,this);
    }

    public boolean speak(final String text){
        Log.d("dione","speak text:"+text);
        // 設定音調,值越大聲音越尖(女生),值越小則變成男聲,1.0是常規
        mTTS.setPitch(1.0f);
        // 設定語速
        mTTS.setSpeechRate(1.0f);
        //播放語音
        int ret = mTTS.speak(text,TextToSpeech.QUEUE_ADD,null);
        if(ret == 0) {
            Toast.makeText(mContext, "文字轉語音成功...", Toast.LENGTH_SHORT).show();
            return true;
        }
        else {
            Toast.makeText(mContext, "文字轉語音錯誤...", Toast.LENGTH_SHORT).show();
            return false;
        }
    }

    @Override
    public void onInit(int status) {
        // 判斷是否轉化成功
        if (status == TextToSpeech.SUCCESS){
            //預設設定語言為中文,原生的android貌似不支援中文。
            int result = mTTS.setLanguage(Locale.US);
            if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED){
                Toast.makeText(mContext, "資料丟失或不支援..."+String.valueOf(result), Toast.LENGTH_SHORT).show();
            }else{
                //不支援中文就將語言設定為英文
                mTTS.setLanguage(Locale.US);
            }
        }
    }
}
將該java加入到自己的工程基本上就可以實現英文的語音轉文字朗讀。

TextToSpeech mTTS = new TextToSpeech(Context,this);
mTTS.speak("TTS中文朗讀");

兩句話就可以使用了。

一般系統都沒有帶中文TTS,不安裝語音外掛的情況下是可以直接實現英文朗讀。
使用中文朗讀:將TTS訊飛語音包(底部地址下載)解壓出來的兩個apk安裝到android系統裡面,然後在設定 -- 語言和輸入法--文字轉語音TTS輸出--選擇科大訊飛語音。
按照如上操作後android系統就支援了中文語音朗讀。

僅供學習參考,by Dione.

完整程式碼已經中文語音外掛apk下載地址:https://download.csdn.net/download/u012532263/10885562