私の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();
}
音声認識は初期化時に機能しますが、デバイスの向きが変更されると、音声認識は機能しなくなります。
音声認識を最初から最後まで初期化する必要なく、デバイスの向きに合わせて動作させるソリューションはありますか (初期化するたびにブラウザーの音声許可を要求します)。