Twilio 正在使用google语音到文本API覆盖文本
在服务器端代码中,当客户端从服务器端接收转录文本时,我们尝试使用web套接字连接将转录文本传递给客户端(Angular)它会覆盖文本,或者有时会多次写入相同的文本我尝试了.isFinal,但问题仍然是一样的。下面是它的代码片段 serer侧码:Twilio 正在使用google语音到文本API覆盖文本,twilio,angular8,audio-streaming,google-api-nodejs-client,google-speech-to-text-api,Twilio,Angular8,Audio Streaming,Google Api Nodejs Client,Google Speech To Text Api,在服务器端代码中,当客户端从服务器端接收转录文本时,我们尝试使用web套接字连接将转录文本传递给客户端(Angular)它会覆盖文本,或者有时会多次写入相同的文本我尝试了.isFinal,但问题仍然是一样的。下面是它的代码片段 serer侧码: const request = { config: { encoding: "MULAW", sampleRateHertz: 8000, languageCode: &quo
const request = {
config: {
encoding: "MULAW",
sampleRateHertz: 8000,
languageCode: "pt-PT"
},
singleUtterance : false,
interimResults: true
};
recognizeStream = client
.streamingRecognize(request)
.on("error", console.error)
.on("data", data => {
//data.results[0].isFinal = true
console.log(data.results[0].alternatives[0].transcript);
wss.clients.forEach( client => {
if (client.readyState === WebSocket.OPEN) {
if (data.results[0].isFinal) {
client.send(
JSON.stringify({
event: "interim-transcription",
text: data.results[0].alternatives[0].transcript
})
)
}
}
});
});
客户端代码:-
if (data.event === "interim-transcription") {
websocket.addEventListener("message", (msg)=>{
console.log("Message from websocket"+msg)
const data = JSON.parse(msg.data);
content = document.createElement('span')
content.setAttribute('class', 'my-1')
content.innerHTML = '<span style="font-weight: bold;">Customer: </span>' + data.text
document.getElementById("transcription-container").appendChild(content)
}
}
if(data.event==“临时转录”){
websocket.addEventListener(“消息”,(消息)=>{
日志(“来自websocket的消息”+msg)
const data=JSON.parse(msg.data);
content=document.createElement('span')
content.setAttribute('class','my-1')
content.innerHTML='Customer:'+data.text
document.getElementById(“转录容器”).appendChild(内容)
}
}
参考网址:-
注意:来自服务器端和客户端的Nodejs和express js:-Angular 8
任何帮助都将不胜感激