
我是第一次学习android开发,我的目标是创建一个简单的Hello World应用程序,它接收一些文本,并大声读出它们.
我的代码基于我找到的一个例子,这是我的代码:
class MainFeeds : AppCompatActivity() { overrIDe fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentVIEw(R.layout.activity_main_Feeds) card.setonClickListener{ Toast.makeText(this, "Hello", Toast.LENGTH_LONG).show() TTS(this, "Hello this is leo") } }}class TTS(private val activity: Activity, private val message: String) : TextToSpeech.OnInitListener { private val tts: TextToSpeech = TextToSpeech(activity, this, "com.Google.androID.tts") overrIDe fun onInit(i: Int) { if (i == TextToSpeech.SUCCESS) { val localeUS = Locale.US val result: Int result = 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) }}它运行得非常好,我遇到的问题是合成器发出的音频听起来非常机器人,几乎就像我使用谷歌地图时我从互联网断开连接.使用语音Google智能助理会利用我必须启用的其他一些API吗?
编辑:我已经尝试在我的像素2xl上运行应用程序,它仍然听起来像机器人,因为它没有使用谷歌助理语音.
解决方法:
语音质量首先归结为您创建的TextToSpeech对象使用的“语音引擎”:
private val tts: TextToSpeech = TextToSpeech(activity, this)如果您输入了:
private val tts: TextToSpeech = TextToSpeech(activity, this, "com.Google.androID.tts")然后,您运行该代码的任何设备都将尝试使用Google语音引擎…但只有在设备上存在时才会实际使用它.
同样,使用“com.samsung.SMT”将尝试使用三星语音引擎(它也是高质量的,但通常只安装在三星[真实]设备上).
Google语音引擎是否可用并不是很依赖于设备的AndroID API级别(只要它最近足以运行Google引擎),而是实际的Google文本到语音引擎完全安装在设备上.
要确保安装了Google引擎:
在AndroID Studio模拟器上:
创建新的模拟器,然后在“目标”列中选择具有“Google Api”或“Google Play”的系统映像.
在真实的设备上:
转到Play商店并安装Google speech engine.
我正在编写一个“TTS诊断”应用程序,我将在Github准备好后发布.我已经了解到AndroID上的TTS(或至少试图预测其行为)可能是一个真正的野兽.
另外我建议文档,当然:Java | Kotlin.
总结以上是内存溢出为你收集整理的Android文字转语音API听起来机器人全部内容,希望文章能够帮你解决Android文字转语音API听起来机器人所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)