3

いくつかのテキストを読むためにAndroidTextto Speechエンジンを使用していますが、機能しています。しかし、私のテキストには数字が含まれているので、数字を1桁ずつ読みたいと思っています。

ドキュメントには何も見つかりませんでしたが、それでも誰かが私がそれを行う方法を知っていることを望んでいます。

4

3 に答える 3

3

APIではテキストの読み取り方法を指定できないため、コードは個々の数値を読み取るようにテキスト入力を変更する必要があります。

各番号の間にスペースを追加することをお勧めします。これにより、TextToSpeechは個々の番号を読み取る必要があります。

数字を検出するのに役立つコードが必要な場合は、次を使用してください。

private boolean isNumber(String word)
{
    boolean isNumber = false;
    try
    {
        Integer.parseInt(word);
        isNumber = true;
    } catch (NumberFormatException e)
    {
        isNumber = false;
    }
    return isNumber;
}
于 2012-06-28T15:22:38.607 に答える
0

受け入れられた回答には小さな欠陥があります。数字の1つに「0」が含まれている場合、ゼロではなくアルファベットの「o」として読み取られます。私は次の解決策を提案します。

 String number = "1230";

 for(int i = 0 ; i < number.size(); i++) {

  /* refer Speech API , Don't use QUEUE_FLUSH as it results in flushing      
     some characters in this case */

   engine.speak(Character.toString(number.charAt(i)),QUEUE_ADD,null);

  }
于 2016-02-11T10:43:28.993 に答える
-2
/* refer Speech API , Don't use QUEUE_FLUSH as it results in flushing      
some characters in this case */
for(int i = 0 ; i < number.size(); i++) {
  engine.speak(Character.toString(number.charAt(i)),QUEUE_ADD,null); 
}
于 2017-01-16T04:22:38.980 に答える