文本转语音 (TTS)是一种辅助技术,用于将文本转换为合成语音。Text to Speech 是 Android 平台的内置功能。
在布局 XML 文件中,我们添加了EditText
和Button
元素。用户将能够在字段中键入文本,然后按下按钮,它会听到语音。
app/src/main/res/layout/activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/myEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/myEditText"
android:layout_centerHorizontal="true"
android:text="Speak" />
</RelativeLayout>
我们初始化TextToSpeech
. 如果初始化成功,则我们为语音操作设置美国英语语言环境。通过使用speak()
方法,我们将文本转换为合成语音。
app/src/main/java/com/example/app/MainActivity.kt
package com.example.app
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.speech.tts.TextToSpeech
import android.util.Log
import kotlinx.android.synthetic.main.activity_main.*
import java.util.*
class MainActivity : AppCompatActivity()
{
private lateinit var tts: TextToSpeech
override fun onCreate(savedInstanceState: Bundle?)
{
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
tts = TextToSpeech(this, TextToSpeech.OnInitListener { status ->
if (status == TextToSpeech.SUCCESS) {
tts.language = Locale.US
} else {
Log.d("MY_APP", "Initilization failed")
}
})
myButton.setOnClickListener {
tts.speak(myEditText.text, TextToSpeech.QUEUE_FLUSH, null, null)
}
}
}
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。