在我的 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();
}
语音识别在初始化时起作用,但是,一旦设备方向改变,语音识别就不再起作用。
有没有一种解决方案可以让它在设备方向后工作,而不必完全初始化语音识别(每次初始化时它都会要求浏览器音频权限)。