2017-09-18 12 views
0

AndroidでTextToSpeechクラスを使用する際に問題が発生しました。私の問題をよりよく説明するために、私はバックエンドとフロントエンドを通信するためにJava、Webviewページ、および角度のみを使用することを説明しなければなりません。Android Angularjsテキストからテキストへ

そして、これはこれは私のJavaの機能がどのように見えるかです

<body ng-controller="speechController"> 
    <div class="speech-container"> 
     <div class="page-container"> 
      <div class="page-content"> 
       <div class="content-wrapper"> 
        <div class="form-group"> 
         <button class="btn bg-pink-400 btn-block" ng-click="talk()">Pressione para falar... <i class="icon-arrow-right14 position-right"></i> 
         </button> 
        </div> 
        <div class="form-group"> 
         <button class="btn bg-pink-400 btn-block" ng-click="listen()">Pressione para ouvir... <i class="icon-arrow-right14 position-right"></i> 
         </button> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</body> 

Java関数を呼び出すことを、私の角度の関数を呼び出す私のhtmlファイルです。主な問題は、 "tts.speak"という行が正しく動作していないこと、変数 "tts"をインスタンス化してTextToSpeech.OnInitListenerを実装していること、変数がnullのままになる原因が何もわかりません。

@JavascriptInterface 
    @SuppressWarnings("deprecation") // Support older API levels too. 
    public void speak(String text, Boolean override) { 
     text="teste2";   
     tts.speak(text, TextToSpeech.QUEUE_FLUSH, null); 


    } 

答えて

0

ちょっと分かりました。私がしなければならなかったのは、onCreate()に次のコードを追加することでした:

tts=new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() { 
      @Override 
      public void onInit(int status) { 
       if(status != TextToSpeech.ERROR) { 
        tts.setLanguage(Locale.getDefault()); 
       } 
      } 
     }); 
関連する問題