Android 三星galaxy J2、API 23上的谷歌文字语音转换不起作用

Android 三星galaxy J2、API 23上的谷歌文字语音转换不起作用,android,text-to-speech,samsung-mobile,Android,Text To Speech,Samsung Mobile,我正在开发一款应用程序,它使用谷歌文本语音,在索尼手机上运行平稳,但在三星Galaxy J2上测试失败。在API 23上运行时,我将tts引擎设置为谷歌文本语音,但仍然给出一个错误代码-1,上面写着“通用操作失败”。下面是代码段,请帮助 textToSpeech= new TextToSpeech(mainActivity, new TextToSpeech.OnInitListener() { @Override public void onInit(int

我正在开发一款应用程序,它使用谷歌文本语音,在索尼手机上运行平稳,但在三星Galaxy J2上测试失败。在API 23上运行时,我将tts引擎设置为谷歌文本语音,但仍然给出一个错误代码-1,上面写着“通用操作失败”。下面是代码段,请帮助

  textToSpeech= new TextToSpeech(mainActivity, new TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {
            if (status != TextToSpeech.ERROR) {
                textToSpeech.setLanguage(Locale.UK);

            }
        }
    });
 inta=textToSpeech.speak(visionSpeech,TextToSpeech.QUEUE_FLUSH,null,"1");

在我的情况下,这是一个愚蠢的解决方案,但我花了一个小时,也许这将有助于某人。 当我在
public void onInit(int status)
我得到的状态-1“表示一般操作失败。” 问题:在我的手机上没有安装任何TTS。 解决方案: 1.安装 2.进入电话设置,然后进入系统设置->语言和输入->文本到语音输出->首选引擎。
3.选择谷歌TTS。

在我的情况下,这是一个愚蠢的解决方案,但我花了一个小时,也许它会对某人有所帮助。 当我在
public void onInit(int status)
我得到的状态-1“表示一般操作失败。” 问题:在我的手机上没有安装任何TTS。 解决方案: 1.安装 2.进入电话设置,然后进入系统设置->语言和输入->文本到语音输出->首选引擎。
3.选择google TTS。

测试在运行
onInit()
之前,在“setLanguage”之后加上您可能正在调用的代码
speak()
。只有在调用状态为
TextToSpeech.SUCCESS
onInit()
之后,才应调用
speak()
方法。此时TTS引擎已经准备好说话了。我也有同样的问题。在虚拟设备上没有问题,但在我的手机上,i get ERROR=-1“表示一般操作失败。”在运行
onInit()
之前,用您可能正在调用的代码将'speak'放在'setLanguage'之后进行测试。只有在调用状态为
TextToSpeech.SUCCESS
onInit()
之后,才应调用
speak()
方法。此时TTS引擎已经准备好说话了。我也有同样的问题。在虚拟设备上可以,但在我的手机上,我得到的错误=-1“表示一般操作失败。”