Some of my students (and myself) were having trouble with the Mary Jane Soft MSound library so I put together very quick and dirty style libraries: MSoundCapture and MSoundPlayback
Download them: MSoundCapture, MSoundPlayback
Here is some example code:
import processing.core.*;
import com.mobvcasting.msoundcapture.*;
import com.mobvcasting.msoundplayback.*;
public class MSoundCaptureTest extends PMIDlet
{
MSoundPlayback sndplay;
MSoundCapture sndcap;
byte[] soundData;
String mimeType;
String captureKey = "Capture";
String stopCaptureKey = "Stop Capture";
String playKey = "Play Sound";
public void setup()
{
softkey(captureKey);
sndcap = new MSoundCapture((PMIDlet)this);
}
public void draw()
{
}
public void softkeyPressed(String label)
{
if (label.equals(captureKey))
{
sndcap.startCapture();
softkey(stopCaptureKey);
}
else if (label.equals(stopCaptureKey))
{
mimeType = sndcap.getCapturedType();
sndcap.stopCapture();
}
else if (label.equals(playKey))
{
sndplay = new MSoundPlayback(this,soundData,mimeType);
sndplay.playSound();
}
redraw();
}
public void libraryEvent(Object library, int event, Object data)
{
if (library.getClass().isInstance(sndcap) && event ==
MSoundCapture.CAPTURE_COMPLETE)
{
soundData = (byte[])data;
mimeType = sndcap.getCapturedType();
softkey(playKey);
redraw();
}
}
}