Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
Doctor w-rw-rw-
Jun 24, 2008
Are you able to tell us any more about the project? Specifying the language in this case might be counterproductive depending on the kinds of things you want to do. It would be good to know what your constraints/goals for the project are.

(If you don't want to explain it without membership in Goonwaffe, I'm covered on that front and have PMs)

Adbot
ADBOT LOVES YOU

Doctor w-rw-rw-
Jun 24, 2008
Go with Flash for the recording part. There are ready-made packages that basically do what you want, which are basically thin Flash wrappers that let you not worry about the actual recording APIs -
https://github.com/michalstocki/FlashWavRecorder
https://code.google.com/p/wami-recorder/

You just have to accept the permissions in the dialog Flash pops up, then you can record audio and send it to a server. Most of the web app should probably live on the server (probably), there doesn't seem to be much sense in making an applet these days. Going mostly HTML5 means that it should run (as a web app) on any platform you build it for, except for the recording implementation, which you should be able to swap out for different devices that do things differently.

If you want to save on the bandwidth and you can stand to let some of your clients use a little CPU, you could possibly encode the sounds files to mp3 (https://github.com/akrennmair/libmp3lame-js), though I wouldn't know how good an idea this would be. Probably best ignored until after you have something working end-to-end.

Googling brings up this useful page: http://stackoverflow.com/questions/19815442/how-to-record-audio-on-webpage-ios-android-pc-mac-no-flash

The server-side language can be anything, but if you've already got Java code that you plan to keep, then you can keep running it on whatever app server you've already got. Given a bit of flexibility, though, I'd specifically recommend building it on top of Dropwizard, or barring that, at least use Jersey for the backend part. Dropwizard makes it easy to deploy; after you build it you just drop a file on whatever computer is going to run the server and run java -jar whatever.jar, or something roughly that simple. Jersey (which Dropwizard uses as a component) makes building HTTP APIs pretty easy.

Honestly, though, given that your component that records audio works, the fastest path to getting something up and running once you have a browser uploading sound is to have or find a good dev and go with whatever they're comfortable with, within reason.

(Except node.js devs. Ew.)

Doctor w-rw-rw- fucked around with this message at 01:11 on Jan 13, 2015

  • Locked thread