Распознавание речи (Webkit-Javascript) не работает в мобильном - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь сделать забавный проект для школы. Я решил сделать помощника, я только начал делать это хотел протестировать его на мобильном телефоне, но это не сработало. Это работает как брелок на компьютерах, но не на устройствах Android (не уверен, что IOS никогда не использовал его). ПОЖАЛУЙСТА, ПОМОГИТЕ.

Не могу придумать решение этой проблемы ...

<p id="userCommandDisplayer"></p>
<button onclick="greetMe()" id="btn2">Start The Assistant</button>
<button onclick="takeUserCommand()" id="btn1">Give Command</button>
<script type="text/javascript">

    var SpeechRecognition = window.webkitSpeechRecognition || window.SpeechRecognition;
    var sr = new SpeechRecognition();
    var userCommandDisplayer = document.getElementById('userCommandDisplayer');
    var input;
    var userCommandTakerButton = document.getElementById('btn1');

    sr.lang = 'en-IN';
    sr.interimResults = false;
    sr.continuous = false;

    function greetMe(){
        speakSomething('Calibrating All Systems...');
        speakSomething('Measuring The Response Rate Of The Computer...');
        speakSomething('Checking For Operating System And Browser...');
        speakSomething('All Systems Are Online Now...');
        speakSomething('Note That This This Is an in Development Project By Pavit. It is Not Completed Yet.');
        speakSomething("Hello I Am Pavit's Digital Assistant Jarvis");
        speakSomething("Press The Give Command Button For Giving Commands...");
        speakSomething("How May I Help You Sir??");
        userCommandTakerButton.style.display = 'inline-block';
    }

    function takeUserCommand(){
        sr.start();
        console.log("Ready To Take Your Command Sir!");
        // speakSomething("Please Allow Microphone Access For Continuing...");
        // speakSomething("Ready To Take Your Command Sir!");
    }

    sr.onresult = function(e){
        var results = e.results[0][0].transcript;
        console.log(results);
        userCommandDisplayer.innerHTML = results;
        input = results;
        speakSomething(input);
    }

    function speakSomething(i){
        var ss = speechSynthesis;
        var utterance = new SpeechSynthesisUtterance(i);
        ss.volume = 1;
        ss.speak(utterance);
    }

</script>

Ожидаемые результаты: ассистент запрашивал разрешение на микрофон, а затем распознавал пользователя и говорил, что он говорил, но это не так. (Это было на ПК, а не на мобильном устройстве). Извините за плохую практику Это мой первый вопрос ...

...