Title | Grabador audio ok |
---|---|
Course | Lenguaje de Programación Para Ingeniería |
Institution | Universidad Nacional del Callao |
Pages | 5 |
File Size | 366.9 KB |
File Type | |
Total Downloads | 102 |
Total Views | 145 |
Implementación de la grabadora de sonidos en Android Eclipse...
UNIVERSIDAD NACIONAL DEL CALLAO
Desarrollo de Aplicaciones en Android
PRACTICA : GRABAR AUDIO Objetivo Implementación de la grabadora de sonidos GRABADOR DE AUDIO (VIA INTENT) En la presente práctica implementaremos la grabadora de sonidos 1. Seleccionamos el menu File > New > Android Application Project. Le colocamos el nombre al proyecto: Grabadora le ponemos el nombre al paquete: com.android.grabadora
2. Diseñamos el activity_main.xml
Enlazamos los botones a los métodos grabar y reproducir respectivamente 3. Abrimos el archivo MainActivity.java y agregamos el siguiente código package com.android.grabadora; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; public class MainActivity extends Activity { int peticion = 1; Uri url1; @Override UNIVERSIDAD NACIONAL DEL CALLAO
1/5
UNIVERSIDAD NACIONAL DEL CALLAO
Desarrollo de Aplicaciones en Android
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @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) { //Creamos un intent para para activar la aplicación de grabación Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); //Recupera la grabacion luego de finalizada atraves del metod onActivity startActivityForResult(intent, peticion); } //Se ejecuta cuando finaliza la grabación, donde url1 es la referencia del archivo creado protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK && requestCode == peticion) { url1 = data.getData(); } } //Reproducimos el contenido de la grabacion public void reproducir(View v) { MediaPlayer mediaPlayer = MediaPlayer.create(this, url1); mediaPlayer.start(); } } 4. Ejecutamos la aplicación GRABACION DE AUDIO MEDIANTE LA CLASE MEDIARECORDER 1. Seleccionamos el menu File > New > Android Application Project. Le colocamos el nombre al proyecto: Grabadora2 le ponemos el nombre al paquete: com.android.grabadora2
2. Diseñamos el Activity_main.xml
UNIVERSIDAD NACIONAL DEL CALLAO
2/5
Desarrollo de Aplicaciones en Android
Enlazamos los botones a los métodos grabar, detener, reproducir 3. Abrimos el archivo AndroidManifest.xml y le damos los permisos correspondientes
4. Abrimos el Main_activity.java y agregamos el siguiente código package com.android.grabadora2; import java.io.File; import java.io.IOException; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaRecorder; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnCompletionListener { TextView tv1; //Declaramos un objeto de la clase Mediarecorder para grabar audio MediaRecorder recorder; //Declaramos un objeto de la clase MediaPlayer para reproducir el audio MediaPlayer player; //Objeto de la clase File que hace referencia al archivo File archivo; UNIVERSIDAD NACIONAL DEL CALLAO
3/5
UNIVERSIDAD NACIONAL DEL CALLAO
Desarrollo de Aplicaciones en Android
Button 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 = (Button) findViewById(R.id.button1); b2 = (Button) findViewById(R.id.button2); b3 = (Button) findViewById(R.id.button3); } @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) { //Creamos un objeto de la clase MediaRecord recorder = new MediaRecorder(); //Definimos el micro como fuente de audio recorder.setAudioSource(MediaRecorder.AudioSource.MIC); //Definimos que sera grabado en el formato .ogg recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); //Definimos el codec a usar recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); // File path = new File(Environment.getExternalStorageDirectory() .getPath()); try { archivo = File.createTempFile("temporal", ".3gp", path); } catch (IOException e) { } //Indicamos donde debe grabarse el archivo recorder.setOutputFile(archivo.getAbsolutePath()); //Llamamos a los metodos prepare y start para iniciar la grabación try { recorder.prepare(); } catch (IOException e) { } recorder.start(); tv1.setText("Grabando"); b1.setEnabled(false); b2.setEnabled(true); } public void detener(View v) { //Llamamos al metodo stop recorder.stop(); //Liberamos recurso recorder.release(); //Creamos un objeto para reproducir el archivo que grabamos UNIVERSIDAD NACIONAL DEL CALLAO
4/5
UNIVERSIDAD NACIONAL DEL CALLAO
Desarrollo de Aplicaciones en Android
player = new MediaPlayer(); //Indicamos la referencia de la clase cuando el audio finalize player.setOnCompletionListener(this); try { //Referenciamos el audio que debe reproducir 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"); } //Reproduce el archivo previamente guardado public void reproducir(View v) { player.start(); b1.setEnabled(false); b2.setEnabled(false); b3.setEnabled(false); tv1.setText("Reproduciendo"); } //Se ejecuta cuando termina de reproducirse el archivo de audio public void onCompletion(MediaPlayer mp) { b1.setEnabled(true); b2.setEnabled(true); b3.setEnabled(true); tv1.setText("Listo"); } }
5. Ejecutamos la aplicación
UNIVERSIDAD NACIONAL DEL CALLAO
5/5...