0

我正在使用 window.SpeechRecognition 作为一个穷人为我们的教堂服务提供的隐藏式字幕。

有时,脚本会将单词误解为淫秽内容。

我没有在 window.SpeechRecognition 中看到阻止这种情况发生的选项。

有什么想法吗?

下面是代码笔中的代码。(这个有效,它要求允许使用麦克风) https://codepen.io/pollywog/pen/QWvaygg

如果您尝试运行下面的代码段,它将无法工作,因为我猜允许麦克风在 SO 上被禁用。

  window.SpeechRecognition = window.webkitSpeechRecognition || window.SpeechRecognition;
        let finalTranscript = '';
        let recognition = new window.SpeechRecognition();

        recognition.interimResults = true;
        recognition.maxAlternatives = 10;
        recognition.continuous = true;

        recognition.onresult = (event) => {
            let interimTranscript = '';
            for (let i = event.resultIndex, len = event.results.length; i < len; i++) {
                let transcript = event.results[i][0].transcript;
                if (event.results[i].isFinal) {
                    finalTranscript += transcript;
                } else {
                    interimTranscript += transcript;
                }
            }

            document.querySelector('div').innerHTML = finalTranscript + '<i style="color:#FFFF00;">' + interimTranscript + '</>';
            const myDiv = document.getElementById('container');
            myDiv.scrollTop = myDiv.scrollHeight;
        }
        recognition.start();
 <div style="height: 300px;
                     font-size: 100px;
                     color: #00ff90;
                     overflow:hidden;"
         id="container"/>
     

4

1 回答 1

1

此时您应该过滤字符串。

let transcript = event.results[i][0].transcript;

以下是如何使用 JavaScript 审查单词的一个示例:
https ://codereview.stackexchange.com/questions/172154/censor-words-in-a-sentence

但是您应该能够找到适合您需求的东西。

于 2021-07-25T12:11:45.637 回答