有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android TextToSpeech总是无法运行

出于某种原因,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, "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);

    }

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    事实证明,这是随Android studio提供的Android emulator中的一个问题,因为它不提供TTS