文字转语音播放完成的回调中,无法修改回调外部变量的值。
.onClick(() => {
let content = '万金油收款2377.78元,加油量344.41升'
//'收到一笔万金油个人加气订单,数量203.05公斤,金额974.64元'
let speakListener: textToSpeech.SpeakListener = {
onStart(requestId: string, response: textToSpeech.StartResponse) {
},
onComplete(requestId: string, response: textToSpeech.CompleteResponse) {
if (response.type === 1) {
// 此处回调里无法调用到外部属性变量
this.isPlaying = false
this.textText = '播放结束'
Logger.info(this.texttext)
}
},
onStop(requestId: string, response: textToSpeech.StopResponse) {
},
// 返回音频流
onData(requestId: string, audio: ArrayBuffer, response: textToSpeech.SynthesisResponse) {
},
onError(requestId: string, errorCode: number, errorMessage: string) {
}
}
})
建议使用AppStorage来修改外部属性的值,示例如下: