Grabación de Audio
Buenos días a todos, por si alguien deseara grabar audio en su aplicación J2ME y luego tratarlo en un arreglo de bytes, este pedazo de código les podría ayudar:
private RecordControl recordControl = null;
private Player player = null;
public void graba() {
try {
detienePlayer();
player = Manager.createPlayer("capture://audio?encoding=amr");
player.realize();
recordControl = (RecordControl)player.getControl("RecordControl");
output = new ByteArrayOutputStream();
recordControl.setRecordStream(output);
player.start();
recordControl.startRecord();
}
catch (IOException e) {
}
catch (MediaException e) {
}
}
public void detienePlayer() {
if (recordControl != null) {
try {
recordControl.stopRecord();
recordControl.commit();
}
catch (IOException ex) {
}
}
if(player != null){
try {
player.stop();
player.close();
}
catch (MediaException ex) {
}
}
player = null;
recordControl = null;
}
public ByteArrayOutputStream getOutput() {
return output;
}
Obviamente lo mostrado es el "corazón", ya habría que usar threads, flags y demás para controlar tiempos de grabación, se podría dar nombres y grabar en memoria, etc, etc.
Espero les sirva en algo,
Slds!
Juan Carlos
- Logue-se ou registre-se para enviar comentários
- 583 leituras

Juan Carlos como sugerencia
Juan Carlos como sugerencia te diria que crees un ejemplo simple pero completo y lo subas al Blog del Desarrollador, con los datos de las librerias que usaste. Eso seria de mucha utilidad.
Es necesario contar con algun
Es necesario contar con algun permiso adicional para poder usarlo? No necesita firma, no?
Si necesita darle el permiso
Si necesita darle el permiso javax.microedition.media.control.RecordControl para que funcione debidamente.
Slds!
Juan Carlos