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

Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!
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
Consider Paul's rocket mass heater.
subject: Capture and play audio
It's not a secret anymore!