I've tried recording video using MediaRecorder API but the file that gets saved each time is of 0 bytes. I use the MediaRecorder recorder = new MediaRecorder(); ad then recorder.setVideoSource . . .recorder.prepare() to generate the preview and when the user clicks record, i say recorder.start() but the file recorded is of 0 bytes. And after some time, recorder.stop() -on user click that is. What can cause such a problem? Please help. This is quite urgent and I would be very grateful for any help. I have a deadline.