Android 自带TTS 使用

16 篇文章 0 订阅

android 自带的tts类为TextToSpeech
我们需要new出方法的实例

mSpeech = new TextToSpeech(MainActivity.this, new TTSListener());

设置播放语言
mSpeech.setLanguage(Locale.ENGLISH);

private class TTSListener implements OnInitListener {
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
if (status == TextToSpeech.SUCCESS) {
//int result = mSpeech.setLanguage(Locale.ENGLISH);
int result = SetLanguage(curLang);
//如果打印为-2,说明不支持这种语言
Toast.makeText(MainActivity.this, “————-result = ” + result, Toast.LENGTH_LONG).show();
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
System.out.println(“————-not use”);
} else {
mSpeech.speak(“i love you”, TextToSpeech.QUEUE_FLUSH, null);
}
}
}
}

调用播放方法

if(mSpeech != null)
{
mSpeech.stop();
mSpeech.shutdown();
mSpeech = null;
}
// 创建TTS对象
mSpeech = new TextToSpeech(MainActivity.this, new TTSListener());

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TTS(Text-to-Speech)即文本转语音技术,是一种将计算机文字转换成自然语音的技术。在Android中,可以通过Android自带TTS引擎或者第三方TTS引擎实现TTS功能。 使用Android自带TTS引擎 1. 在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> ``` 2. 创建TTS引擎对象,设置监听器和语言: ```java private TextToSpeech mTts; mTts = new TextToSpeech(this, new TextToSpeech.OnInitListener() { @Override public void onInit(int status) { if (status == TextToSpeech.SUCCESS) { // 设置语言为英语 int result = mTts.setLanguage(Locale.US); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { // 语言数据丢失或不支持 } else { // 初始化成功 } } else { // 初始化失败 } } }); ``` 3. 调用TTS引擎的speak方法将文字转换成语音: ```java mTts.speak("Hello world!", TextToSpeech.QUEUE_FLUSH, null); ``` 使用第三方TTS引擎 1. 引入第三方TTS引擎的SDK,并添加相关权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> ``` 2. 创建TTS引擎对象,设置监听器和语言: ```java private AIUIPlayer mPlayer; mPlayer = new AIUIPlayer(this, "appid=xxxxxxxx"); // 第三方TTS引擎的appid mPlayer.setListener(new AIUIPlayerListener() { @Override public void onCompleted() { // 播放完成 } @Override public void onError() { // 播放错误 } }); mPlayer.setLanguage("en_us"); // 设置语言为英语 ``` 3. 调用TTS引擎的play方法将文字转换成语音: ```java mPlayer.play("Hello world!"); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值