android 学习小记 1 TTS 文本语音转换

这篇博客介绍了如何在Android中使用TTS(TextToSpeech)引擎进行文本转语音操作。首先,讲述了如何检查和安装TTS引擎,然后通过一个简单的示例展示如何创建一个能朗读用户输入文本的应用。此外,还讨论了如何处理中断情况,确保在恢复应用时能从上次中断的地方继续朗读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Android 1.6及更新版本包含一个多语音合成引擎,称为picon,它支持任何android应用程序使用与语音匹配的口音朗读文本字符串。(摘自精通android2 P463页)

 

1         编程前准备(真机调试)

 1.1 检查自己手机版本后,在setting屏幕选择voice input & output >TextToSpeech(或者speech synthesis)(如果找不到该选项,再找几次,实在找不到,恭喜你你的android系统很可能被阉割过的,请看第二条)。然后问题又来了,由于很多手机都选择将这个支持库给阉掉了,导致手机不支持tts,要装一个这个tts库就可以,找个text+to+speech.apk安装好行了,最后单击>“this is an example of……”,可试听,此时在后台,android已触发pico,文本发送到引擎,引擎向音频输出端朗读该文本,pico将其分解成多个片段,并连接。一个设备只有一个tts引擎。

1.2 如果你的设置选项连voice input & output都没有的话,首先安装xShortcut这款软件,然后点击自订捷径按钮。详情参看图片如下:

点确定后就可以把被阉割的选项给调出来了。(据说还有许多方法)

其它方法(转贴)
关于:设置——-语言和键盘里面没有那文字转语音 ”选项,是因为一这一菜单给阉割了,
解决办法有多种:
1>
安装xShortcut,创建桌面快捷方式,可以参照http://bbs.anzhi.com/thread-4772260-1-1.html,(可我不喜欢为此又要多装一个软件,)
2>
从其它支持tts语音的软件调出,如果你本身就装有静读天下专业版(读书软件),可以调出文字转语音选项。
3>
如果你装了终端,可以用命令(com.android.settings.TextToSpeechSettings)调出文字转语音选项,这个会终端命令的人不用我教了吧.

上述准备弄好后,触发条件已成熟,下一步就是编程了。2.1先上个简单的程序,功能是朗读我们键入的文本

(摘自精通androdi2)略有修改,略加注释)

package com.example.easytts;

 

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.speech.tts.TextToSpeech;

import android.speech.tts.TextToSpeech.OnInitListener;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

/**

 * TTs easy talk Demo

 * @author Android2,hkw

 *

 */

 

public class EasyTTSActivity extends Activity implements OnInitListener {

         //实现OnInitListener.使我们能够在tts引擎接口已创建并可用时接受一个回调,使用onInit()接受该回调

         private EditText words = null;

         private Button speakBtn =null;

         private static final int REQ_TTS_STATUS_CHECK = 0;

         private static final String TAG = "TTS DEMO";

         private TextToSpeech mTts;

        

 

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_easy_tts);

       

        words = (EditText)findViewById(R.id.voice_et);

        speakBtn = (Button)findViewById(R.id.con_btn);

        speakBtn.setOnClickListener(new

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值