2013. 5. 10. 19:16

안드로이드 MediaRecorder로 동영상 녹화하기

동영상을 녹화하는 기능도 오디오를 녹화할 때처럼 MediaRecorder를 이용합니다. 다만, 영상은 카메라처럼 화면에 미리보기가 제공되어야 하므로 이번에도 SurfaceView를 같이 써주면 됩니다. 간단하게 만들때에는 SurfaceCreated(), SurfaceChanged(), SurfaceDestroyed() 메써드들을 생략할 수 있습니다.

녹화버튼을 누르면 처리하는 코드도 오디오 녹음과 똑같지만 추가로 setVideoSource와 setVideoEncoder를 지정하는 것. 그리고, SurfaceView에서 보여지는 미리보기 화면을 위한 setPreviewDisplay()를 덧붙이면 됩니다.

녹화중지 버튼에는 단지 stop()과 release()만 해주면 되겠죠.

미리보기를 위해서는 카메라가 필요하고, 동영상 녹화에는 음성도 포함되는데다 외부 저장장치인 SD card에 저장하게 되므로 메니페스트 파일에서 다음의 퍼미션을 지정해줍니다.