I need a way to detect when people tap their laptop.
The sound will be captured by the microphone. I want to determine if the tap occurs in the audio stream.
I need to do this in javascript as I want to enable this feature on the webpage.
What way should I go doing this? Do you know any js libraries that can help me?
The only solution that I considered so far is Web Audio API, but I don't like it as it is something recently introduced and is not compatible with many(older versions) of browsers.
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
About the solution:
-it shouldn't be flash
-it doesn't need to work on mobile browsers. Just desktop/laptop browsers.
Thank you all in advance.
Related
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. :)
We need to capture voice in a web portal. Our contractor developed the whole web portal without using Java Applications, only client-side code, and claims there is no way to capture voice using JavaScript today.
I'm not a Java guy, so I don't have the skills to discuss this, but I'll appreciate any help our folks here in SO can give: if you guys say it can not be done with today technology, so be it...
PS: the solution MUST attend IE, Chrome, Firefox and Safari, for end users, so Canary is out of question for now.
Currently there's no way reliable way to record audio using only HTML5 and JavaScript across browsers.
The only cross browser solution for non Flash recording on desktop browsers in the foreseeable future is the Media Recorder API. It's a recent standard proposal for a JS API who's purpose is to make audio and video recording in the browser very simple. Today it works only in Firefox 27 and only for audio. This article covers the standard in more detail.
If audio recording is important for you today I recommend you check out proven flash solutions like FLVAR or Audior. They work on all browsers, they are reliable and supported. Flash just works and major sites like YouTube and Netflix continue to use it.
The javascript's getUserMedia (getUserMedia on MDN) is a simple way to do this. I suggest you addyosmani's polyfill that has a flash fallback in case the browser doesn't yet support it.
It seems I can only use Flash or Java to record voice on a web app. Is there a way of doing it via JavaScript?
It can be done but the solution won't work across all platforms at the moment.
<input type="file" accept="audio/*;capture=microphone">
See HTML5 Media Capture
Currently Supported By:
Android 3.0 browser, Chrome for Android (0.16), Firefox Mobile 10.0, iOS6 Safari and Chrome (partial support)
Links:
http://www.html5rocks.com/en/tutorials/getusermedia/intro/
Audio capturing with HTML5
Javascript cannot access your hardware directly. What you need, is a client side technology that can. Flash, for one.
Javascript can communicate quite easily with flash, so you can hide your flash recorder and construct your recorder ui with html/js/css.
Here's one example: https://github.com/jwagener/recorder.js/blob/master/examples/example-1.html
Here's another one:
http://blogupstairs.com/flashwavrecorder-javascript-flash-audio-recorder/
I realize this is not EXACTLY what you need, but you didn't tell why you want a JS solution. This doesn't fix the flash dependency problem but it solves the UI problem since you can construct the UI without flash.
Another wellknow solution is WAMI, I know it's not pure javascript but maybe it can help.
"As of this writing, most browsers still do not support WebRTC's getUserMedia(), which promises to give web developers microphone access via Javascript. This project achieves the next best thing for browsers that support Flash. Using the WAMI recorder, you can collect audio on your server without installing any proprietary media server software."
https://code.google.com/p/wami-recorder/
Another example using node.js
This example application is written in JavaScript and uses Node and Express for the web server and framework. You will need all three installed on your web server in order for this to work, as well as the Node.js WebAPI Library.
nodejs voice recording example
Yes there is a pure HTML/JavaScript way but it only works in Firefox and Chrome:
http://audior.ec/blog/recording-mp3-using-only-html5-and-javascript-recordmp3-js/
Direct demo: http://audior.ec/recordmp3js/
I have a Flash MP3 player for a website that works on web browsers and Android but doesn't work on iPhones or Windows Phone. I know it's because iPhones don't support Flash and I presume that's also the reason it doesn't work on Windows Phone.
I can't just a HTML 5 MP3 players as that won't work on older browsers (and might not work on Android?). So do I need to use two separate players and decide which one to use based on the user's browser or is there a better solution such as a plugin that handles all this for me?
Basically, are there any MP3 player solutions that will handle both web browsers (version 7+ for IE) and smartphones?
How about http://mediaelementjs.com/
You could also drop in a link for the iphone that will use the native player (Something along the lines of 'iphone users click here' underneath your mp3 player) if you're trying to play a single file. It's quick and dirty but it does the job. There's more information here: http://www.boutell.com/newfaq/creating/iphoneaudio.html
That being said, I do like user1285360's answer quite a bit if you can implement it.
I wonder how can i run web flash application on IOS?
Because i heard some information about Flash application can run on IOs using Javascript
But i dont know how to write javascript code to make flash run on IOs
Do you have any tutorial or resources to help me to do this ?
Thank you very much
There have been a number of attempts to get Flash onto iOS devices (converting Flash apps to iOS apps, or recreating the runtime in JavaScript) but I doubt any of the solutions would be suitable.
You’d be better off building your application in HTML5, CSS3 and JavaScript.
Apple does not support Flash on its iOS devices. Apple and Adobe had quite a nasty bust-up over this issue. And, to make matters worse, it doesn't look like its going to improve any time soon (see here). So the only thing you can do is use HTML5, CSS3 and JavaScript to develop your web apps for iOS.