Android studio--kotlin 文本转语音软件
text to speech
Android studio–kotlin语言
直接上代码
MainActivity.kt
package cn.edu.zhouimport android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.widget.Button
import android.widget.EditText
import android.widget.Switchclass MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)val editText = findViewById(R.id.editText) as EditTextval aSwitch = findViewById(R.id.switch1) as Switchval button = findViewById(R.id.button) as Buttonbutton.setOnClickListener { TTS(this@MainActivity, editText.text.toString(), aSwitch.isChecked) }}
}
TTS.kt
这个是我新建的另一个activity文件(右击–New–Activity–Empty Activity)
package cn.edu.zhouimport android.app.Activity
import android.speech.tts.TextToSpeech
import android.widget.Toast
import java.util.*class TTS(private val activity: Activity,private val message: String,private val br: Boolean) : TextToSpeech.OnInitListener {private val tts: TextToSpeech = TextToSpeech(activity, this)override fun onInit(i: Int) {if (i == TextToSpeech.SUCCESS) {val localeBR = Locale("pt", "BR")val localeUS = Locale.USval result: Intresult = if (br) tts.setLanguage(localeBR) else tts.setLanguage(localeUS)if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {Toast.makeText(activity, "This Language is not supported", Toast.LENGTH_SHORT).show()} else {speakOut(message)}} else {Toast.makeText(activity, "Initilization Failed!", Toast.LENGTH_SHORT).show()}}private fun speakOut(message: String) {tts.speak(message, TextToSpeech.QUEUE_FLUSH, null, null)}
}
界面布局
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><EditTextandroid:id="@+id/editText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginLeft="10dp"android:layout_marginTop="150dp"android:layout_marginEnd="5dp"android:layout_marginRight="5dp"android:ems="10"android:hint="Enter your text"android:inputType="text"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent" />app:layout_constraintTop_toTopOf="parent" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="8dp"android:layout_marginRight="8dp"android:layout_marginTop="32dp"android:text="Speak"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toBottomOf="@+id/editText"app:layout_constraintHorizontal_bias="0.028" /><Switchandroid:id="@+id/switch1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="140dp"android:layout_marginTop="46dp"android:text="PT-BR"app:layout_constraintTop_toBottomOf="@+id/editText"app:layout_constraintLeft_toRightOf="@+id/button"android:layout_marginRight="8dp"app:layout_constraintRight_toRightOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>
软件截图
该软件可以读 汉字 英语 数字。
当PT-BR关闭时,数字读的是英文,如:1读作one。反之,为正常阿拉伯数字发音
以上代码把package cn.edu.zhou修改为自己的地址就可以执行
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
