一、介绍
目录
一、介绍
二、配置
三、使用
四、权限
五、补充
目前国内Android系统自带语音引擎基本上都是Pico TTS,Pico TTS不支持中文转语音播报。因为项目需要播放中文,引入科大讯飞引擎3.0.apk。
二、配置
下载好科大讯飞语音引擎3.0.apk(若是下载小爱,小度等其他引擎也可以),安装成功之后,进入系统设置—>语言输入法设置—>文字转语音(TTS)输出—>选择科大讯飞语音引擎(选择你下载的引擎)。
三、使用
代码很简单,注释很详细,废话不多说,直接上工具类。
package com.welbell.temperature.type.ui;
import android.content.Context;
import android.speech.tts.TextToSpeech;
import android.util.Log;
import java.util.Locale;
public class VoiceAnnouncements implements TextToSpeech.OnInitListener {
private static final String TAG = VoiceAnnouncements.class.getName();
public static VoiceAnnouncements mVoiceAnnouncements;
private TextToSpeech mTextToSpeech;
public static VoiceAnnouncements getInstance() {
synchronized (VoiceAnnouncements.class) {
if (mVoiceAnnouncements == null) {
mVoiceAnnouncements = new VoiceAnnouncements();
}
}
return mVoiceAnnouncements;
}
public void init(Context context) {
mTextToSpeech = new TextToSpeech(context, this);
}
/**
* 设置语音播放参数(设置-1将不起作用)
*
* @param pitch 音调
* @param speechRate 语速
*/
public void setParameter(float pitch, float speechRate) {
if (mTextToSpeech == null) {
return;
}
if (pitch != -1)
//设置音调
mTextToSpeech.setPitch(pitch);
if (speechRate != -1)
//设置语速,1.0为正常语速
mTextToSpeech.setSpeechRate(speechRate);
}
/**
* 设置播放内容
* 播放语音前需要等初始化成功之后
* @param isCover 是否覆盖式播放
* @param text 播放的内容
*/
public void speak(boolean isCover,String text){
if (isCover){
mTextToSpeech.stop();
}
mTextToSpeech.speak(text, TextToSpeech.QUEUE_ADD, null);
}
/**
* 回调函数
* @param status
*/
@Override
public void onInit(int status) {
//设置朗读语言
int supported = mTextToSpeech.setLanguage(Locale.SIMPLIFIED_CHINESE);
if ((supported != TextToSpeech.LANG_AVAILABLE) && (supported != TextToSpeech.LANG_COUNTRY_AVAILABLE)) {
Log.e(TAG, "onInit: 不支持当前语言");
}
}
}
四、权限
TTS需要使用文件操作权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 外部存储读权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 外部存储写权限 -->
五、补充
第三方引擎APK,需要通过用户手动设置为默认TTS输出,否则不能使用。目前除了改framework层以外,Android上层没有办法修改第三方APK为默认的输出TTS应用。
文章来源:https://www.toymoban.com/news/detail-513231.html
文章来源地址https://www.toymoban.com/news/detail-513231.html
到了这里,关于Android 文件转语音TTS输出(文字转语音)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!