Waud.js: Web audio library
waudjs.com
waudjs.com
Unless something has changed, getUserMedia still doesn't work on Chrome/Android or iOS/Safari yet.
I wish mobile browser vendors didn't avoid this problem - I get that they're all prioriizing different things, but the state of audio/video recording & playback is abysmal.
https://developers.soundcloud.com/docs/api/sdks#recording https://github.com/soundcloud/soundcloud-javascript
I'm not sure if they solve the problem you face but I know they support Audio recording via their Javascript SDK and I thought it might be useful to you.
Surprisingly, it DOES look like getUserMedia is supported by Android browser and Android Chrome now (with some weird namespace prefix/object).
http://caniuse.com/#feat=stream
Still doesn't work on anything iOS though (until Apple puts it in Safari).
So no dice for HTML5 on mobile still (I've been waiting since 2012 for some way to support in-browser web-based audio recording, sigh). :|
It's not like haxe is some kind of crazy offshoot language, it looks pretty damn close to typescript and flow (But to me this looks closer to "regular javascript" than most typescript and flow does).
With the exception of the `@:expose` and `@:keep` stuff, there isn't anything i've seen yet just browsing through the source that I don't understand (as a javascript developer), and i've never seen the language before in my life.
It's not as cool (and backed by big Californian co) as JS/TS, but Haxe really grows on you when you start mastering it.
In many cases, compiler metadata is specific to a given target. E.g., they can be quite common on extern definitions. This allows the Haxe language to stay small, while providing flexibility for better target interoperability.
In this case, @:expose will expose certain methods to the global namespace, and @:keep will prevent the compiler from removing code with its dead code elimination functionality. Both of these are very useful for creating and maintaining js libraries, regardless of whether or not the library is also cross-platform.
It's gone beyond getting angry, now I'm just sad for the state of this whole schlamassel.