Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En el cuarto captulo del Curso Android seguiremos trabajando con el hardware de los
telfonos, ahora aprenderemos sobre cmo grabar vdeo desde la cmara y reproducirlo.
Disposicin inicial
Iniciamos descargando el cdigo que debe ser importado hacia un nuevo proyecto, la
configuracin inicial para este ejemplo tiene algunas caractersticas importantes para
revisar:
android:screenOrientation="portrait"
principal.
Diseo
Seguimos trabajando sobre un LinearLayout y agregamos un nuevo elemento:
SurfaceView: nos permite tener un espacio dedicado a dibujar los frames del vdeo
para la vista y la reproduccin.
Nuestro diseo tendr tres botones: Grabar, Detener y Reproducir adems del ya
mencionado SurfaceView El cdigo completo del layout es:
?
1 <!--?xml version="1.0" encoding="utf-8"?-->
2
3
4
5
6
7
<button>
</button>
<button>
</button>
<button>
</button>
@Override
public void surfaceCreated(SurfaceHolder holder) {
if (mediaRecorder == null) {
mediaRecorder = new MediaRecorder();
mediaRecorder.setPreviewDisplay(holder.getSurface());
05
06
07
08
09
10
11
12
}
if (mediaPlayer == null) {
mediaPlayer = new MediaPlayer();
mediaPlayer.setDisplay(holder);
}
}
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
btnRec.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btnRec.setEnabled(false);
btnStop.setEnabled(true);
btnPlay.setEnabled(false);
prepareRecorder();
mediaRecorder.setOutputFile(fileName);
try {
mediaRecorder.prepare();
} catch (IllegalStateException e) {
} catch (IOException e) {
}
mediaRecorder.start();
recording = true;
}
});
btnStop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
btnRec.setEnabled(true);
btnStop.setEnabled(false);
btnPlay.setEnabled(true);
if (recording) {
recording = false;
mediaRecorder.stop();
mediaRecorder.reset();
} else if (mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.reset();
}
}
});
Descarga:
Puedes descargar el cdigo de la aplicacin completa y funcional en: Grabacin y
reproduccin de vdeo.
Conclusin