I see HTML5 has nice set of JS classes which helps us integrate voice capability to the website (speak to type and speak to command) very easily. However it looks like it mainly for Chrome and managed by Google.
I can't find how to get it working with similar technology for Internet Explorer.
Do anybody have any reference or example link which I can refer?
According to https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#Browser_compatibility they do not support webkitSpeechRecognition.
That is for built in browser support. Now if you would like to pay for this support you could use IBM Bluemix or Google Speech api.
https://www.ibm.com/watson/developercloud/speech-to-text.html OR
https://cloud.google.com/
The speech recognition APIs that you're referring to are indeed new and not fully supported.
They are also not official HTML5 APIs -- they are currently marked as unofficial. That doesn't mean they won't eventually become official APIs, but for now they are just something that Google thought would be a good idea.
You can find info about them on the CanIUse website. As you'll see on this page, they are supported in Chrome and Opera, and also in Firefox, although only as an experimental feature, meaning that the user would have to enable the feature manually in the browser.
More significantly in relation to your question, the page also states that they are "In development" for Microsoft Edge. This means that there is a good chance that they'll be available in Edge in a future release, within a reasonable space of time. They are not available now, and will never be available in IE, as Microsoft are only developing new features for Edge now.
Therefore, if you need to support IE, you will need something else. There is nothing standard or even well-known that I can recommend though.
You can't have this feature in Internet explorer right now. May be in the future they would implement this functionality.Let me give you an example- the link below is by microsoft teams describing the text-to-speech functionality by a demo application. Try running it on Internet Explorer, it won't work. So whoever asks you to achieve this, show this example.
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/speechsynthesis/
They have separated out the code for browsers which doesn't support the speechsynthesis object. Do have a look in the developer tools for better understanding.
Related
I have been trying to find a voice recognition library in JavaScript but unfortunately i couldn't find any options and i really don't want to limit my project to only one browser.All the thing i could find were based on the chrome tool of voice recognition
I would recommend using webkitSpeechRecognition. It's going to be hard to find something that all browsers are compatible with, but, as you can see below, webkitSpeechRecognition works mainly with Chrome and Safari, which are the two main browsers.
Is there a way to detect a client's keyboard layout in Firefox?
I know the answer is yes with Chrome (see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/keyboard):
navigator.keyboard.getLayoutMap().then(function(k) { console.log(k.get('KeyQ')); } // A or Q gives a hint about the layout
Is there another way for other browsers (Firefox, Safari, etc.) ?
There is currently no way to detect the keyboard layout through Javascript in Firefox.
The feature is currently experimental in Chromium based browsers. For Firefox you can track the progress here: https://bugzilla.mozilla.org/show_bug.cgi?id=1469017
As of today the last update on the bug was 2020-06-05. One of the last substantial posts in that thread said:
[...] exposing this information is really strong fingerpintting source. Finally, Apple has already refused. So, I think that we do not need to this API.
You can follow Mozilla's official position on this API here: https://mozilla.github.io/standards-positions/#keyboard-map
Currently it's classified as "harmful", and states:
We're concerned that this exposes keyboard layouts, which seem likely to be a significant source of fingerprinting data, in a way that does not require any user interaction.
I do not expect this capability will be supported on Firefox in the foreseeable future.
so i am making a site that takes advantage of the WebRTC(webcam snapshots).
ive been searching for hours, but didnt find a solution that didnt require a third party app install on the windows/OS X installation.
have any of your solved this problem?
As you can see IE/Safari does not support WebRTC: http://caniuse.com/#search=webrtc or http://iswebrtcreadyyet.com/
The only way that you can do it is through a 3rd party plugin, like Skylink or Temasys. But you'll also need something like a polyfill on your JS. In the end, Flash is also another 3rd party plugin.
It seems that Edge has limited support and Safari could get very soon WebRTC support.
Good news, things are about to change.
Safari
Apple announced support for WebRTC in Safari 11.
You can download the latest beta version of Safari 11 at the following link:
(You need to sign in with your Apple ID) https://developer.apple.com/safari/download/
Microsoft Edge
Edge supports webRTC with the help of adapter.js.
Data channels are not yet supported.
According to Microsoft's roadmap, ORTC Data channels are "Under consideration".
Roadmap Priority: Low — We are still evaluating this technology. There
may be significant spec stabilization, foundational work, or
additional community input required before we can begin development.
Internet explorer
As #adrian-ber said, you'll need a 3rd party plugin.
Since I read Google's message that NPAPI will no longer be supported by the end of 2014, I've been looking for an alternative. The issue is that we currently use a custom made Kinect Browserplugin which we use to control the browser with JS and control Unity Web Player games with your body.
Without NPAPI support it simply won't work anymore and our work will be lost. Google gives NaCl as an alternative but this doesn't support interaction with hardware.
The main question I have is: How to use the Kinect in a webbased platform and crossbrowser?
Currently we have the "normal" Kinect and the Kinect One from the closed beta working in the browser and Unity Web Player.
Please share your thoughts on a solution.
I apologize in advance for just spewing out links without actually supplying much information, but as far as I know there are no known good alternatives.
If I was in your position, I would have a look at the chrome.usb API or possibly, depending on your use case, node-kinect.
Here's a good general resource/discussion of NPAPI alternatives: Browser Plugins in a post NPAPI world
Probably your best approach at this point is to continue using NPAPI except in Chrome, and in Chrome use native messaging. Of course, Chrome has made it as difficult as they can to install the host that you'll be connecting to, so it'll be a pain and you'll have to install the extension and the host seperately, but there you go.
Im trying to develop an javascript based audio editor. It should be possible to record, play and edit an audio file with. Its especially important to visualize the recording audio (realtime) and the selected/uploaded audio file (both of them).
I red alot about the Web-Audio-API and saw a few examples as well, but there are some problems - it only works in chrome/safari so far, it should be run on firefox as well, but it doesnt. So what Im looking for is an crossbrowser API or javascript/jquery libary which provides the called features.
Here are some examples to show u what I mean:
http://plucked.de/ (great tool, but there are many bugs as well)
http://www.stud.fit.vutbr.cz/~xmyler00/audiee/ (as u can see web audio API doesnt work on firefox)
The Web-Audio-API is a fairly new standard and is steadily being adopted by the major browsers with varying levels of support. Currently Chrome and Safari have the best support and Firefox support is in it's draft stage. For the sort of application, with cross browser support, that you're wanting you will need to go to third party plugins/extensions/addons for the support you're after.
Welcome to the bleeding edge. :)