2016-04-20 8 views
13

ChromeでwebkitSpeechRecognition APIを使用しています。これはプロトタイプのアプリケーションであるため、Chromeのみをサポートすることができてとてもうれしく、window.hasOwnProperty('webkitSpeechRecognition')チェック(suggested by Googleなど)を行うことでAPIのサポートを検出しています。これはうれしいことにFirefoxではうまくいかないが、新しいOpera(webkitベースの)はそれがプロパティを持っていると報告している。そして、実際には、すべてのコードが意図したとおりに実行されます。イベントのいずれも実行されず、音声も記録されません。OperaのwebkitSpeechRecognition APIのサポート

私の質問は、どういうわけか、それを働かせることができますか?特別な権限や設定が必要ですか?

また、webkitSpeechRecognitionの適切なサポートを検出するための方法がありますか?

+0

は、ブラウザ・スニッフィングに代わるものを見つけましたか?私は非常に同じ問題に直面しています –

+0

@OscarHermosillaいいえ、残念ながら。私たちにはそれほど重要ではなかったので、私はとても積極的に見ていませんでした。しかし、私は好奇心が強いです、私は賞金をあげましょう。 –

答えて

4

現在のところ、Google Chromeにはストリームによる音声認識APIがあります(Googleのsppeech APIを使用しています)。

Operaでhttps://www.google.com/intl/en/chrome/demos/speech.htmlを使用する場合は、Chrome25 +が必要であることをOperaに伝えます。

http://caniuse.com/#feat=speech-recognition Operaウェブキットはこの機能をサポートしていますが、現在は機能していません。 Operaには、その場で翻訳するAPIサービスはありません。今はプレースホルダだけがブラウザに機能していますが、将来的にはそれを作ってくれるでしょう、そうではありません。

*は、それが動作するかどうdeterminteする方法をGoogleが*

例を編集しました。

// checking by google 
 
if (!('webkitSpeechRecognition' in window)) { 
 
    console.log('GOOGLE: not working on this browser'); 
 
} else { 
 
    console.log('GOOGLE: working'); 
 
} 
 

 
//your way 
 
if (window.hasOwnProperty('webkitSpeechRecognition')) { 
 
    console.log('YOUR: working'); 
 
} else { 
 
    console.log('YOUR: not working on this browser'); 
 
}

+1

私はOperaビルド41.0.2353.69を使用しています。スピーチデモページは何も伝えずに単純に機能しません。そして、私はcaniuse.comがChromeと同じように「部分的なサポート」としてそれを報告する方法を笑った。 これは単なるプレースホルダ機能であることを検出する方法はありますか? (そして、なぜ地球上で何も言わないと、何も言わないで静かに死ぬのではなく、例外をスローするのですか?) –

+0

webkitSpeechRecognition - 動作するデフォルトの音声認識ソフトウェアを見つけようとします。クロームは、デフォルトでクロームによってGoogleスピーチAPIにストリーミングされ、スピーチを認識します(これは認識できる言語が多すぎるためです)。 携帯電話では通常の音声認識ソフトウェアがありますが、そのモバイルデバイスのOperaは動作するはずです。デスクトップでは動作しません。助けてくれることを願っています。 –

+0

Googleのデモページの例をwindow.hasOwnPropertyと非常に似ていますが、違いはありますが、私のChromeでWebkitを検出していますが、Opera 42では検出していません。 –

関連する問題