如何在 QWebEngineView 中允许语音识别 api

How to allow speech recogonition api in QWebEngineView

我有小码

<!doctype html>
<head>
    <title>JavaScript Speech to Text</title>
</head>
<body>
    <h2>JavaScript Speech to Text</h2>
    <p>Click on the below button and speak something...</p>
    <p><button type="button" onclick="runSpeechRecognition()">Speech to Text</button> &nbsp; <span id="action"></span></p>
    <div id="output" class="hide"></div>
    <script>
        /* JS comes here */
        function runSpeechRecognition() {
            // get output div reference
            var output = document.getElementById("output");
            // get action element reference
            var action = document.getElementById("action");
            // new speech recognition object
            var SpeechRecognition = SpeechRecognition || webkitSpeechRecognition;
            var recognition = new SpeechRecognition();
        
            // This runs when the speech recognition service starts
            recognition.onstart = function() {
                action.innerHTML = "<small>listening, please speak...</small>";
            };
            
            recognition.onspeechend = function() {
                action.innerHTML = "<small>stopped listening, hope you are done...</small>";
                recognition.stop();
            }
          
            // This runs when the speech recognition service returns result
            recognition.onresult = function(event) {
                var transcript = event.results[0][0].transcript;
                var confidence = event.results[0][0].confidence;
                output.innerHTML = "<b>Text:</b> " + transcript + "<br/> <b>Confidence:</b> " + confidence*100+"%";
                output.classList.remove("hide");
            };
          
             // start recognition
             recognition.start();
        }
    </script>
</body>

它不适用于 PyQtWebEngine 如何让它发挥作用。

我搜索了一下,发现只有基于chromium的浏览器才支持语音识别。

PyQtWebEngine 是基于 Chromium 那么如何让它工作

尽管此功能在 chromium 中可用,但已被 Qt 禁用,如 this report 所示。也许在Qt6以后的版本中会启用。