簡體   English   中英

Javascript語音識別API在移動設備上不連續

[英]Javascript Speech Recognition API not continuous on mobile device

因此,我一直在開發一個基於react的應用程序,它使用了語音識別功能,我已經對其進行了設置並可以在PC上正常運行,但是當我在手機上嘗試該應用程序時,它可以運行並且可以正常運行,但是在轉錄后會停止運行。

我已經啟用了recognition.continuous = true;

調用語音識別的代碼。

    voiceCommands() {
        recognition.onstart = () => {
            console.log('Voice is activated');
        }

        recognition.onresult = (e) => {
            const current = e.resultIndex;
            let transcript = e.results[current][0].transcript;
            let mobileRepeatBug = (current == 1 && transcript == e.results[0][0].transcript);

            if(!mobileRepeatBug) {
                if(transcript === 'next' || transcript === ' next') {
                    this.incrementStep();
                    e.reuslts = {};
                }

                if(transcript === 'back' || transcript === ' back') {
                    this.decrementStep();
                    e.reuslts = {};
                }
            }

        }

        recognition.onspeechend = () => {
            recognition.stop();
            console.log('voice stopped');
        }
    }

更改狀態的按鈕的代碼

    handleVoice() {
        this.setState({
            voice: !this.state.voice
        }, () => {
            if(this.state.voice) {
                recognition.start();
                console.log("Voice started");
            } else {
                recognition.stop();
            }
        });

    }

我的目的是使它連續運行,直到用按鈕禁用它為止。 我不確定這是否與chrome如何處理手機上的語音權限有關,甚至還可能。

任何幫助表示贊賞

您可以在間隔后再次開始。

 recognition.onresult = (e) => { const current = e.resultIndex; let transcript = e.results[current][0].transcript; let mobileRepeatBug = (current == 1 && transcript == e.results[0][0].transcript); if(!mobileRepeatBug) { if(transcript === 'next' || transcript === ' next') { this.incrementStep(); e.results = {}; } if(transcript === 'back' || transcript === ' back') { this.decrementStep(); e.results = {}; } } setTimeout(() => { recognition.start(); }, 50); } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM