我浏览了许多适用于 Android 的文本转语音示例,我遇到了一个我认为非常简单的问题,但我无法解决!
我只是希望能够查看根据 this link 的 EXTRA_AVAILABLE_VOICES(例如)的输出在 ArrayList 中返回。有很多关于如何以编程方式处理此类输出的示例,但为了我的学习和理解,我想亲自查看实际返回的数据。
我的项目设置与 android 开发人员示例完全相同 from here
// 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 中获得它...请有人帮我解决这个问题!
一旦我知道如何查看返回的数据,我就可以继续遵循如何正确处理它的示例。
- 我没有包含任何我已经尝试过的代码,因为我在任何地方都找不到示例,而且这纯粹是猜测(我不好意思展示!)
提前致谢。
最佳答案
对于曾经遇到同样问题的任何人,我使用了下面的代码,根据找到的示例进行了编辑 here :
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);
}
关于java - Android Java Text to Speech 查看额外字符串信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612997/