英文:
Android TextToSpeech always fails to Run
问题
出于某种原因,尽管我已验证所需的数据文件可用,但```onInit()```始终以错误代码被调用。
我已尝试启动从教程中完整复制的TTS(文本转语音)代码,但也不起作用。
以下是我的初始化代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == DATA_CHECK_SUCCESS) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
textToSpeech = new TextToSpeech(this, this);
}
else {
Intent installTTSIntent = new Intent();
installTTSIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installTTSIntent);
}
}
}
@Override
public void onInit(int initStatus) {
if (initStatus == TextToSpeech.SUCCESS) {
if(textToSpeech.isLanguageAvailable(Locale.US)==TextToSpeech.LANG_AVAILABLE)
textToSpeech.setLanguage(Locale.US);
}
else if (initStatus == TextToSpeech.ERROR) {
Toast.makeText(this, "抱歉!文本转语音失败...", Toast.LENGTH_LONG).show();
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent TTSIntent = new Intent();
TTSIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(TTSIntent, DATA_CHECK_SUCCESS);
}
提前致谢。
英文:
For some reason onInit()
always gets called with an error code despite the fact that I have verified that the required data files are available.
I have tried launching TTS(text-to-speech) code which has been copied in it's entirety from a tutorial and that does not work either
The following is my initialization code:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == DATA_CHECK_SUCCESS) {
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS) {
textToSpeech = new TextToSpeech(this, this);
}
else {
Intent installTTSIntent = new Intent();
installTTSIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installTTSIntent);
}
}
}
@Override
public void onInit(int initStatus) {
if (initStatus == TextToSpeech.SUCCESS) {
if(textToSpeech.isLanguageAvailable(Locale.US)==TextToSpeech.LANG_AVAILABLE)
textToSpeech.setLanguage(Locale.US);
}
else if (initStatus == TextToSpeech.ERROR) {
Toast.makeText(this, "Sorry! Text To Speech failed...", Toast.LENGTH_LONG).show();
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent TTSIntent = new Intent();
TTSIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(TTSIntent, DATA_CHECK_SUCCESS);
}
Thanks in advance
答案1
得分: 1
我之前遇到过类似的问题,与语音转文字有关。问题是设备上安装的Google应用被禁用或没有麦克风权限。
看看这是否有助于解决你的问题。
英文:
I have faced a similar issue before with Speech to Text, the problem was that the Google app installed on the device was disabled or does not have the microphone permission.
Check if this helps with your issue.
答案2
得分: 0
这是Android Studio提供的Android模拟器中的问题,因为它不提供TTS。
英文:
Turns out that this is an issue in the Android emulator provided with Android studio as it does not provide TTS
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论