是否可以使用cordova-plugin-speechrecognition显示语音文本

时间:2017-11-09 10:05:49

标签: cordova speech-recognition

我正在寻找一种方法来显示使用语音识别所说的文字。我使用过cordova-plugin-speechrecognition。 我可以使用startListening功能点击麦克风和speack。但有没有办法在屏幕上显示语音文字。 参考:https://ourcodeworld.com/articles/read/401/how-to-use-the-speech-recognition-api-in-cordova

3 个答案:

答案 0 :(得分:0)

您可以将文本放在html文本标记中,在我的示例中为id sstBtn

function startRecognition(){
    return window.speechRecognition.startRecognition({
        language:"en-US",
        showPopup: true
    }).then(function(data){
        console.log("Results",data);
        var sttElement = parentElement.querySelector('.stt');
        sttElement.innerHTML = data[0]
    }).catch(function(err){
        console.error(err);
    });
}

答案 1 :(得分:0)

我在识别后立即显示了结果 page.ts

constructor(private speech:SpeechRecognition,private cd:ChangeDetectorRef) {

   this.speech.startListening(
      {
        language:"en-US",
        matches:1
      }
    ).subscribe((matches)=>{
          this.matches=matches;
          this.cd.detectChanges();
}

使用 ChangeDetectorRef 更新更改

现在在 page.html

<ion-card>
  <ion-card-content>
   {{matches}}
  </ion-card-content>
</ion-card>

答案 2 :(得分:0)

    Efficient method to display the text with the help of ngzone
    Include private speech:SpeechRecognition and private ngzone;NgZone in constructor 
**page.ts**
 
    '''
       this.speech.startListening(
          {
            language:"en-US",
            matches:1
          }
        ).subscribe((matches)=>{
          this.ngzone.run( ()=> {
              this.matches=matches;
    });
    });
    '''
    **page.html**
    '''
    <ion-card>
      <ion-card-content>
       {{matches}}
      </ion-card-content>
    </ion-card>
'''