当前位置: 首页 > 面试题库 >

Android Java文本到语音查看额外的字符串信息

郭永安
2023-03-14
问题内容

我已经遍历了许多可用于Android的文本到语音示例,但我认为确实很简单,但是我无法终生解决!

我只是希望能够查看EXTRA_AVAILABLE_VOICES的输出(例如),该输出根据此链接在ArrayList中返回。关于如何以编程方式处理此类输出的示例很多,但是为了我的学习和理解,我希望自己查看实际返回的数据。

我的项目完全按照此处的android开发人员示例进行设置

    // We now return the list of available and unavailable voices
    // as well as the return code.
    Intent returnData = new Intent();
    returnData.putStringArrayListExtra(
            TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES, available);
    returnData.putStringArrayListExtra(
            TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES, unavailable);
    setResult(result, returnData);
    finish();
}

理想情况下,我希望在字符串中的简单TextView中的“常量值”之后显示输出,但是我无法实现这一点,尽管我付出了很多努力,也无法在ListView中获取它……请有人帮我解决这个问题!

一旦知道了如何查看返回的数据,便可以继续遵循如何正确处理数据的示例。

  • 我没有包含任何我已经尝试过的代码,因为我在任何地方都找不到示例,而且纯粹是猜测工作(我很尴尬地展示!)

提前致谢。


问题答案:

对于曾经坚持使用同一事物的任何人,我使用下面的代码,这些代码是从此处找到的示例进行编辑的:

    ArrayList<String> available = data
                .getStringArrayListExtra("availableVoices");
        Log.v("languages count", String.valueOf(available.size()));
        Iterator<String> iter = available.iterator();
        while (iter.hasNext()) {
            String lang = iter.next();
            Locale locale = new Locale(lang);
            Log.v(TAG, "language: " + lang);
            Log.v(TAG, "language locale: " + locale.toString());

            TextView LocaleResults = (TextView) getView().findViewById(
                    R.id.textViewConfig);
            LocaleResults.append("\nAvailable Engine Language: " + lang);

        }

        ArrayList<String> unavailable = data
                .getStringArrayListExtra("unavailableVoices");
        Log.v("languages count", String.valueOf(unavailable.size()));
        Iterator<String> iteru = unavailable.iterator();
        while (iteru.hasNext()) {
            String ulang = iteru.next();
            Locale ulocale = new Locale(ulang);
            Log.v(TAG, "ulanguage: " + ulang);
            Log.v(TAG, "ulanguage locale: " + ulocale.toString());

            TextView LocaleResults = (TextView) getView().findViewById(
                    R.id.textViewConfig);
            LocaleResults.append("\nUnavailable Engine Language: " + ulang);

        }


 类似资料:
  • 带有en-us语音的AVSpeechsynthesizer是“A”的发音,是“大写字母A”,但只想要“A”,怎么能做到呢?

  • 有没有任何开源项目或库(在java或c),我可以用来将文本转换为用户语音。

  • 我在文件中有一个字符串 当读取该文件时,文本显然是这样的: 是否有干净的方法转换此字符串,以便文件中的值也是代码中字符串的实际值。换句话说,例如,是

  • 使用Microsoft语音API转录中/大型音频文件(每个文件约6-10分钟)的最佳方式是什么?比如批量音频文件转录? 我使用了https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-to-text-sample中提供的代码,用于连续转录语音,但它在某个时候停止转录。转录有任何限制吗?我只使用免

  • 我似乎在这上面找不到任何东西。iOS7中是否有任何Siri类或API允许您进行文本到语音转换?我所要做的就是如下所示: 然后让Siri从我的应用程序中说出来。 看来我们应该有能力做到这一点,不是吗?似乎是一件微不足道的事情。

  • 谷歌云语音转文本和亚马逊转录都提供标点符号和单词时间戳。我可以得到标点符号时间戳吗?具体来说,我想要分句时间戳(句号、问号、感叹号),例如0:33秒、1:01、1:23、1:49、2:05等。 我想我可以使用谷歌或AWS用标点符号转录一个文件,然后将抄本分解成句子,然后为每个句子做单词时间戳。如果我可以为设置一个参数,这将更容易(对于一个包含500个句子的文件来说,大约是计算机时间的1/500)。