Hi Sarah,
Doing this with Java requires JRE to be installed on users' computers. In my experience, Flash is more frequently installed and enabled than JRE (Disclosure: I'm a Flash developer). I'm actually considering developing an alternative to the NanoGong activity, which is in Java, in Flash for those who work in JRE-less environments. I have the prototype up and running but it only does heavy WAV files at the moment.
I've already developed a framework for getting Flash apps to integrate and communicate with Moodle: http://code.google.com/p/swf-activity-module/ So the hard work's already been done for you. The existing service scripts are here: http://code.google.com/p/swf-activity-module/source/browse/trunk/src/moodle/lib/amfphp/services With this framework it's possible to get apps to store data in Moodle's database and/or write data to the server (in moodledata). It supports a range of datatypes including datasets (SQL query results), string, number, integer, array, object, byte array, bitmap data, JPEG, PNG, WAV, MP3, etc.
The latest version of Flash Player now supports multithreading which makes converting captured microphone input to MP3 on the fly a practical possibility. The resulting MP3 data can then be sent to a PHP service script as a byte array where it gets written as an MP3 file. I already have this working on a couple of apps for bitmap data:
- http://blog.matbury.com/call-software/concept-map/
- http://blog.matbury.com/call-software/avatar-camera/
Pushing data into Moodle's database tables is as easy as it could be with the SWF Activity Module.
I hope this helps!