新しいSpeechRecognition
オブジェクトを作成した後に、関数onbroadcast
をSpeechRecognition
に設定できるようにしたいので、特定の条件を満たす場合にこの関数を内部的に呼び出すことができます。内部で呼び出すことができるオブジェクト関数を外部に設定する
onerror
などをwebkitSpeechRecognition
に設定するのと同じ方法で設定したいと考えています。デベロッパーツールでonerror
を見ると、hereのようなゲッター/セッターのようなものがあるかもしれませんが、私は確信することはできません。
これは可能ですか?
recognition.js:
var SpeechRecognition = function() {
var recognitionObject = new webkitSpeechRecognition();
recognitionObject.onresult = function (event) {
if(event.results.length > 0) {
if (onbroadcast !== null && onbroadcast === 'function') {
onbroadcast('there are results');
}
}
}
recognitionObject.onerror = function (event) {
console.log(event);
}
recognitionObject.onend = function (event) {
console.log(event);
}
recognitionObject.start();
}
SpeechRecognition.prototype.onbroadcast = null;
main.js:
var sr = new SpeechRecognition();
sr.onbroadcast = function(msg) {
document.getElementById('id') = msg;
}
'onupdateraw'と' onbroadcast'は宣言されていない変数ですが、どういう意味ですか?私はあなた 'SpeechRecognition'インスタンスの' .onbroadcast' **プロパティ**を参照したいとします - 通常this' 'と[はなく、コールバックで](http://stackoverflow.com/q/20279484/1048572 ) ここのような。 – Bergi
申し訳ありません - 'onupdateraw'はタイプミスです。 – millarnui
オブジェクトの外側から 'onbroadcast'を何とかしたいのですが、もしそれが設定されていれば、それを呼び出すことができます – millarnui