Three.js - webkitSpeechRecognition在deviceorientation事件后无法正常工作

时间:2015-09-23 18:05:39

标签: javascript html5 three.js device-orientation webspeech-api

在我的JS代码中,我有以下监听器:

    window.addEventListener('deviceorientation', setOrientationControls, true);

    ...
    function setOrientationControls(e) {

      if (!e.alpha) {
        return;
      }

      controls = new THREE.DeviceOrientationControls(camera, true);
      controls.connect();
      controls.update();

      //disable further -- else gives jitter effect
      window.removeEventListener('deviceorientation', setOrientationControls, true);
    }

另外我有以下代码来识别使用HTML5 webspeech API的语音:

    function initSpeech(){
      recognition = new webkitSpeechRecognition();
      recognition.continuous = true;
      recognition.onresult = function(event) {
       for (var i = event.resultIndex; i < event.results.length; i++) {
              if (event.results[i].isFinal) {

                var text = event.results[i][0].transcript;
                // ... do something with text
               }
        }
       }
       recognition.start();
    }

语音识别适用于初始化,但是,一旦设备方向改变,语音识别就不再起作用。

是否有解决方案使其在设备定位后工作,而无需全部初始化语音识别(每次初始化时都要求浏览器音频权限)。

0 个答案:

没有答案