My name is Gonzalo and I am starting this in the development of mobile applications for android. The issue is that they commissioned me to make an app that records audios and that they are stored in a database, so that they can then be reproduced at random. I have already managed to record audios but these are stored temporarily only on the phone:
The code I am using is the following:
public class MainActivity extends Activity implements OnCompletionListener {
TextView tv1;
MediaRecorder recorder;
MediaPlayer player;
File archivo;
TextView b1, b2, b3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1 = (TextView) this.findViewById(R.id.textView1);
b1 = (TextView) findViewById(R.id.button1);
b2 = (TextView) findViewById(R.id.button2);
b3 = (TextView) findViewById(R.id.escuchar);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void grabar(View v) {
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
File path = new File(Environment.getExternalStorageDirectory()
.getPath());
try {
archivo = File.createTempFile("temporal", ".3gp", path);
} catch (IOException e) {
}
recorder.setOutputFile(archivo.getAbsolutePath());
try {
recorder.prepare();
} catch (IOException e) {
}
recorder.start();
tv1.setText("Grabando");
b1.setEnabled(false);
b2.setEnabled(true);
}
public void detener(View v) {
recorder.stop();
recorder.release();
player = new MediaPlayer();
player.setOnCompletionListener(this);
try {
player.setDataSource(archivo.getAbsolutePath());
} catch (IOException e) {
}
try {
player.prepare();
} catch (IOException e) {
}
b1.setEnabled(true);
b2.setEnabled(false);
b3.setEnabled(true);
tv1.setText("Listo para reproducir");
}
public void escuchar(View v) {
player.start();
b1.setEnabled(false);
b2.setEnabled(false);
b3.setEnabled(false);
tv1.setText("Reproduciendo");
}
public void onCompletion(MediaPlayer mp) {
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
tv1.setText("Listo");
}
}
I already appreciate your answers.