Android11 初始化失败问题处理

//初始化
new TextToSpeech(Context context,  OnInitListener listener);

原因:Android11 软件包可见性问题导致TextToSpeech初始化失败,只需要在AndroidManifest.xml文件中增加<queries>标签即可

增加权限

...
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<queries><intent><action android:name="android.intent.action.TTS_SERVICE" /></intent>
</queries><application ...

Demo示例,实现一个读取输入文字的功能

布局文件xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/editText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="请输入要朗诵的字" /><Buttonandroid:id="@+id/btn_read"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="读" />
</LinearLayout>

代码:

package com.jhq.texttospeech;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Locale;
public class MainActivity extends AppCompatActivity  implements View.OnClickListener, TextToSpeech.OnInitListener {private Button speechBtn; // 按钮控制开始朗读private EditText speechTxt; // 需要朗读的内容private TextToSpeech textToSpeech; // TTS对象@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);speechBtn = (Button) findViewById(R.id.btn_read);speechBtn.setOnClickListener(this);speechTxt = (EditText) findViewById(R.id.editText);
//初始化textToSpeech = new TextToSpeech(this, this); // 参数Context,TextToSpeech.OnInitListener}/*** 用来初始化TextToSpeech引擎* status:SUCCESS或ERROR这2个值* setLanguage设置语言,帮助文档里面写了有22种* TextToSpeech.LANG_MISSING_DATA:表示语言的数据丢失。* TextToSpeech.LANG_NOT_SUPPORTED:不支持*/@Overridepublic void onInit(int status) {if (status == TextToSpeech.SUCCESS) {int result = textToSpeech.setLanguage(Locale.CHINA);if (result == TextToSpeech.LANG_MISSING_DATA|| result == TextToSpeech.LANG_NOT_SUPPORTED) {Toast.makeText(this, "数据丢失或不支持", Toast.LENGTH_SHORT).show();}} else {Log.e("TTS", "Initilization Failed!");}}@Overridepublic void onClick(View v) {if (textToSpeech != null && !textToSpeech.isSpeaking()) {textToSpeech.setPitch(0.0f);// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规textToSpeech.speak(speechTxt.getText().toString(),TextToSpeech.QUEUE_FLUSH, null);}}@Overrideprotected void onStop() {super.onStop();textToSpeech.stop(); // 不管是否正在朗读TTS都被打断textToSpeech.shutdown(); // 关闭,释放资源}
}

Android TextToSpeech(tts)语音播报(文字转语音)相关推荐

  1. 语音播报 android,Android 语音播报 文字转语音

    最近收到了结合推送 到的内容 语音播报功能实现 就想到sdk内置 android.speech 已经内置了语音播放功能 开始放代码 //创建自带语音对象 private TextToSpeech te ...

  2. tts文字转语音_Android文字转语音(TTS)

    tts文字转语音 In this tutorial, we'll be discussing and implementing the Text To Speech in our Android ap ...

  3. Android 文件转语音TTS输出(文字转语音)

    一.介绍 目前国内Android系统自带语音引擎基本上都是Pico TTS,Pico TTS不支持中文转语音播报.因为项目需要播放中文,引入科大讯飞引擎3.0.apk. 二.配置 下载好科大讯飞语音引 ...

  4. Android自带语音播报+讯飞语音播报封装(直接用)

    一.Android自带的语音播报 1.查看是否支持中文,在测试的设备中打开'设置' -->找到 '语言和输入法'-->查看语音选项,是否支持中文,默认仅支持英文. 使用如下: public ...

  5. Android百度语音集成——文字转语音

    项目涉及文字转语音的需求,用Android原生提供的TTS生成的语音太单调,机器声音太明显,故寻求第三方更好的支持,用科大讯飞的语音包收费,百度语音免费而且不限制调用次数,主页鲜明说永久免费的智能语音 ...

  6. 百度语音合成 js html,Node.js结合百度TTS接口实现文字转语音功能

    今天工作的时候偶然发现了百度的TTS Restful接口(TTS是TextToSpeech,说白了就是文本转语音的功能).该接口如下,浏览器中可以直接访问: http://tts.baidu.com/ ...

  7. android 调用系统自带文件管理器_编写使用Android 系统自带的文字转语音代码

    调用Android系统语音TextToSpeech实例对象 具体代码写法如下: TextToSpeech mTextToSpeech = new TextToSpeech(this, new Text ...

  8. android文字代码,编写使用Android 系统自带的文字转语音代码

    调用Android系统语音TextToSpeech实例对象 具体代码写法如下: TextToSpeech mTextToSpeech = new TextToSpeech(this, new Text ...

  9. tts文字转语音_Linux文字转语音(TTS)的问题

    tts文字转语音 Ken Starks是Reglue (可循环使用的电子产品和用于教育的GNU / Linux)的执行董事,该公司接受损坏或报废的计算机进行翻新并将其放置在德克萨斯州奥斯汀及其周边地区 ...

  10. (TTS)QT编写文字转语音(wav)PC小工具

    TextToSpeech 文字转语音第一个预览版本,绿色免安装. 目前支持两个角色的声音:晓峰.晓燕:支持语速.声调调节. 支持wav文件播放.导出. 目前发布第一个版本,后期会不断的升级升级维护. ...

最新文章

  1. xenserver 脚本学习之/opt/xensource/bin/xapi-wait-init-complete
  2. 重大革新!Dubbo 3.0来了
  3. mac wmware 无网络_无线网络中常用的技术名词
  4. POJ 1979 Red and Black DFS
  5. HashMap、TreeMap、Hashtable、HashSet和ConcurrentHashMap区别
  6. 手写call,apply
  7. 解决80端口被占用的情况
  8. [转]php返回json数据中文显示的问题
  9. jfreeChart生成报表
  10. 前端的IDE工具对比
  11. 计算机网络按网络的传输介质分类可以分为:广域网和无线网两种.,常用的网络传输介质类别和各自特点...
  12. 数据挖掘实践 —— OneR 分类算法
  13. ESP32+DHT11+Arduino连接phpstudy的本地数据库
  14. unity 跨平台动态生成二维码 免费下载
  15. 多入库口、出库口的提升系统仿真测试案例
  16. 关于runtime error '429'解决方案
  17. android里面字体的设置,Android中字体设置Font
  18. ps笔刷管理扩展面板:Brusherator for Mac
  19. IDEA 多Moudle指定当前Moudle的JDK版本
  20. 标准证件照尺寸表,网页修改证件照尺寸的方法

热门文章

  1. 街头篮球服务器维护中,雷冥竟然有这能力? 《街头篮球》五一稀有角色能力解析...
  2. mvp架构 java_MVP架构基本使用
  3. 计算机控制总线传输的是,总线,地址总线,数据总线和控制总线
  4. 测试对比度的软件,WCAG颜色对比度检测工具,网页及App文字背景配色检测软件...
  5. APK大小查看、定义、反编译、如何安装解压
  6. 51单片机学习代码(LED灯)
  7. max232cpe管脚电压
  8. Windows无法启动 VMware Workstation server服务解决方法
  9. 无监督学习之稀疏编码,自编码
  10. 2010年通信工程概预算培训讲义