File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java Micro Edition and the fly likes Capture and play audio Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Mobile » Java Micro Edition
Bookmark "Capture and play audio" Watch "Capture and play audio" New topic

Capture and play audio

Jarek P

Joined: Sep 04, 2004
Posts: 2

I have some questions about audio capturing

I use this code to capture audio

Player p = Manager.createPlayer("capture://audio?rate=8000&bits=8&channels=1");
RecordControl rc = (RecordControl) p.getControl("RecordControl");
ByteArrayOutputStream output = new ByteArrayOutputStream();
buf = output.toByteArray();

I'm using series 60 midp sdk 2_1_beta and it's emulator.

1. Bits are set to 8 and buf if byte array. But how data will be saved when i change bits=16. I must use something different that ByteArrayOutputStream or then two array cells store one 16bit number (then correct values is something like that: array[i]+255*array[i+1])??
2. Record time is set to 1000 and rate 8000 so output array size should be 8000, but every time i save i have different array size (about 7000 to 9000). Why is that. It does mean that emulator didn't save exactly one second or saving rate isn't equal 8000??
3. How can i play sound, that i have saved (stored in buf)??

Thanks for any help
I agree. Here's the link:
subject: Capture and play audio
It's not a secret anymore!