有没有办法将语音中的“文本”保存为文本离子语音识别
Posted
技术标签:
【中文标题】有没有办法将语音中的“文本”保存为文本离子语音识别【英文标题】:Is there a way to save the "text" in speech to text Ionic Speech Recognition 【发布时间】:2019-12-08 07:13:35 【问题描述】:我已经能够使用 ionic 框架文档在我的项目中实现 Ionic Speech Recognition(语音到文本),现在我希望能够使用任何表单输入、ngmodel 或 formcontrol 保存文本或音频
我尝试使用将匹配变量绑定到分配给新变量的 ng 模型,但没有成功
startListening()
let options =
language: 'en-US',
matches: 2,
prompt: 'Say Something!'
this.speechRecognition.startListening(options).subscribe(matches =>
this.matches = matches;
this.cd.detectChanges();
);
this.isRecording = true;
<ion-grid>
<ion-row>
<ion-col *ngIf="matches">
<h3 *ngFor="let match of matches">
match
</h3>
<ion-item>
<ion-input type="text" [(ngModel)]="matches">
</ion-input>
</ion-item>
</ion-col>
</ion-row>
</ion-grid>
我希望能够看到输入中的文本,以便在保存到数据库之前可以选择进行编辑
【问题讨论】:
【参考方案1】:你可以这样做,
现在您的语音文本结果保存在matches
变量中。
现在让我们稍微改变一下输入。根据您的问题,我的理解是您需要在输入字段中显示您的口语文本,然后如果该文本不正确或其他原因,您需要手动更改。
为此,您可以将输入值设置为匹配项。当您这样做时,您的输入字段将显示匹配文本,但它是可编辑的。但是您需要为该输入提供不同的 [(ngModel)] 变量,因为您需要识别和跟踪更改的匹配值(matches
)
<ion-input type="text" value="matches" [(ngModel)]="correctedMatches">
【讨论】:
感谢您的帮助,我试过了,但输入中出现的是(匹配)本身。我仍然无法获得可编辑的文本语音 很高兴你找到了答案 :) @Antonio【参考方案2】:我解决了,终于用 Angular trackBy 解决了
<ion-grid>
<ion-row>
<ion-col *ngIf="matches">
<h3 *ngFor="let match of matches; let i = index; trackBy:trackByInstance"">
match
</h3>
<ion-item>
<ion-input type="text" [(ngModel)]="matches[i]">
</ion-input>
</ion-item>
</ion-col>
</ion-row>
</ion-grid>
trackByInstance(index: any)
return index;
【讨论】:
以上是关于有没有办法将语音中的“文本”保存为文本离子语音识别的主要内容,如果未能解决你的问题,请参考以下文章