在我的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();
}
语音识别适用于初始化,但是,一旦设备方向改变,语音识别就不再起作用。
是否有解决方案使其在设备定位后工作,而无需全部初始化语音识别(每次初始化时都要求浏览器音频权限)。