安卓 edittext 设置placeholder_安卓自带离线文字转语音

该博客介绍了如何在安卓应用中使用TextToSpeech类进行离线文字转语音,特别强调了科大讯飞语音引擎3.0作为替代方案,并提供了初始化、设置语言、播放速度和音调的示例代码,同时展示了如何处理初始化状态和释放资源。

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

安卓自带的TTS是不支持中文,需要下载其他语音引擎,比如科大讯飞语音引擎3.0,度秘语音引擎3.0,我目前使用的是科大讯飞语音引擎3.0

可在设置->语言->首选引擎进行选择,如下图:

e0e030b8a915cc38bdd8ef977a334067.png

3b1010ec337543760812ca687f0631d9.png

699f03cefa4379693ddbb575bfbfab73.png

需要使用安卓自带类TextToSpeech()

90024cfc6d2f77da2bb0924875a5b474.png

下面是调用的示例代码:

package com.example.androidyuyin;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.view.View.OnClickListener;

import java.util.Locale;

import android.os.Bundle;

import android.widget.Button;

import android.widget.EditText;

import android.speech.tts.TextToSpeech;

import android.speech.tts.TextToSpeech.OnInitListener;

import android.widget.TextView;

import android.widget.Toast;

public class MainActivity extends AppCompatActivity

{

private TextToSpeech mSpeech;

private TextView edit;

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

edit =(EditText)findViewById(R.id.test_text);

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

mSpeech.setLanguage(Locale.CHINA); //要转换的语言类别

mSpeech.setSpeechRate(1.0f);       //播放速度

mSpeech.setPitch(1.0f);            //播放音调

initUI(); 

}

private void initUI()

{

Button b1 = (Button) findViewById(R.id.but1);

b1.setOnClickListener(new OnClickListener()

{

@SuppressWarnings("deprecation")

@Override

public void onClick(View v)

{

        String tempStr = edit.getText().toString();//待播放文字

        mSpeech.speak( tempStr , TextToSpeech.QUEUE_FLUSH, null); 

}

});

}

private class TTSListener implements OnInitListener

{

@Override

public void onInit(int status)

{

// TODO Auto-generated method stub

if (status == TextToSpeech.SUCCESS)

{

Toast.makeText(MainActivity.this, "TTS引擎初始化成功", Toast.LENGTH_SHORT).show();

}

else

{

Toast.makeText(MainActivity.this, "TTS引擎初始化失败", Toast.LENGTH_SHORT).show();

}

}

}

@Override

protected void onDestroy() //释放资源

{

if (mSpeech != null)

{

mSpeech.stop();

mSpeech.shutdown();

mSpeech = null;

}

super.onDestroy();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值