我已经遍历了许多可用于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); }