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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android实现语音合成

發(fā)布時(shí)間:2025/3/19 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android实现语音合成 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

坑爹的語(yǔ)音合成,wp8只需要下載個(gè)語(yǔ)言包就可以實(shí)現(xiàn)中文的語(yǔ)音合成,但android只支持幾種(英文、法語(yǔ)、德語(yǔ)等幾種拉丁語(yǔ)系)。找了幾個(gè)開(kāi)源的合成引擎都不是很滿意,退而求其次選擇語(yǔ)音合成服務(wù)(訊飛),實(shí)現(xiàn)方式:

1、將SpeechApi.jar拷到工程的libs下,

2、

private static String TAG = "TTSTest";

private SpeechSynthesizer mTts;

private Toast mToast;


@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


// 初始化合成對(duì)象

mTts = new SpeechSynthesizer(this, mTtsInitListener);

mToast = Toast.makeText(this, "", Toast.LENGTH_LONG);


Button button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new OnClickListener() {

String s = ((EditText) findViewById(R.id.editText1)).getText()

.toString();

@Override

public void onClick(View arg0) {

mTts.setParameter(SpeechConstant.ENGINE_TYPE, "cloud");

// mTts.setParameter(SpeechSynthesizer.VOICE_NAME, "vixk");

// mTts.setParameter(SpeechConstant.ENGINE_TYPE, "local");

mTts.setParameter(SpeechSynthesizer.VOICE_NAME, "xiaoyan");

mTts.setParameter(SpeechSynthesizer.SPEED, "50");

mTts.setParameter(SpeechSynthesizer.PITCH, "50");

int code = mTts.startSpeaking(s, mTtsListener);

if (code != 0) {

showTip("start speak error : " + code);

} else

showTip("start speak success.");


}

});

}

暫時(shí)選擇這種辦法把,但是這種有幾個(gè)問(wèn)題。一是語(yǔ)音要從服務(wù)器端傳回的音頻流,流量消耗比較大(wp8是本地合成),二是網(wǎng)絡(luò)不好的情況下會(huì)比較慢。

轉(zhuǎn)載于:https://blog.51cto.com/fengxiaoxiao/1250375

總結(jié)

以上是生活随笔為你收集整理的android实现语音合成的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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