This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
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
Author

Capture and play audio

Jarek P
Greenhorn

Joined: Sep 04, 2004
Posts: 2
Hello

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");
p.realize();
RecordControl rc = (RecordControl) p.getControl("RecordControl");
ByteArrayOutputStream output = new ByteArrayOutputStream();
rc.setRecordStream(output);
rc.startRecord();
p.start();
Thread.currentThread().sleep(1000);
rc.commit();
p.close();
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
 
GeeCON Prague 2014
 
subject: Capture and play audio