我如何使用Text-To-Speech准确实现火车平台的广播声音? [关闭]

问题描述 投票:0回答:1
示例:(tun tun)您的火车/代号为** 5 0 6 P 0 0 2 3 Q 7 **

我想在我的应用中实现这种确切的声音。我怎样才能做到这一点。我尝试了文本到语音转换,但效果不佳!?

[请注意:声音不应该被硬编码(否则我将通过原始资产来完成)。令牌号将从服务器端更改。

代码:

public class LauncherActivity extends FragmentActivity implements TextToSpeech.OnInitListener { private int mStatus; private TextToSpeech mTTS; private void init() { tokenNumber = findViewById(R.id.token_number); mTTS = new TextToSpeech(this, this); value = 1; setHandler(); } private void setTextSound(String textSound, String val) { if (mStatus == TextToSpeech.SUCCESS) { int result = mTTS.setLanguage(Locale.ENGLISH); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Logger.d("Language not supported"); } else { String freshString = val.replaceAll("[-+.^:,]", ""); mTTS.setPitch(1f); mTTS.setSpeechRate(0.8f); char[] ch = freshString.toCharArray(); // Printing array mTTS.speak(textSound, TextToSpeech.QUEUE_ADD, null, null); for (char c : ch) { mTTS.setSpeechRate(0.4f); mTTS.speak(String.valueOf(c), TextToSpeech.QUEUE_ADD, null, null); } } } else { Logger.d("Something went wrong. Please try again later"); } }

[如果可能,建议我不要使用任何库。
android text-to-speech google-text-to-speech
1个回答
0
投票
setTextSound方法更改为以下内容>>

private void setTextSound(String textSound) { if (mStatus == TextToSpeech.SUCCESS) { int result = mTTS.setLanguage(Locale.ENGLISH); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) { Logger.d("Language not supported"); } else { String freshString = textSound.replaceAll("[-+.^:,]",""); mTTS.setPitch(1f); mTTS.setSpeechRate(1f); char[] ch = freshString.toCharArray(); // Printing array for (char c : ch) { mTTS.speak(String.valueOf(c) , TextToSpeech.QUEUE_ADD, null); } } } else { Logger.d("Something went wrong. Please try again later"); } }

让我知道是否可行
© www.soinside.com 2019 - 2024. All rights reserved.