Android Java Text to Speech Просмотр дополнительной информации о строках - PullRequest
1 голос
/ 08 марта 2012

Я пробежался по многим примерам преобразования текста в речь, доступным для 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, несмотря на мои многочисленные усилия ... Пожалуйста, кто-нибудь может помочь мне решить эту проблему!

Как только я узнаю, как просмотреть возвращенные данные, я могу перейти к примерам того, как правильно с ними обращаться.

  • Я не включил ни один код, который уже пробовал, поскольку нигде не могу найти пример, и это была просто работа с догадками (которую мне стыдно показывать!)

Заранее спасибо.

1 Ответ

2 голосов
/ 03 апреля 2012

Для тех, кто когда-либо сталкивался с одним и тем же, я использовал приведенный ниже код, отредактированный по найденному образцу здесь :

    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);

        }
...