i am new and im trying to creat a video recording application...
i have a problem and i konw where it is i just need help to fix it
here is the full code
please help me...
i have a problem and i konw where it is i just need help to fix it
here is the full code
please help me...
Code:
package com.APP;
import java.io.IOException;
import android.app.Activity;
import android.content.pm.ActivityInfo;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
public class APP extends Activity implements SurfaceHolder.Callback{
Camera camera;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;
MediaRecorder recorder;
boolean recording = false;
String outputFile="/sdcard/TempClip/clip";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
recorder = new MediaRecorder();
initRecorder();
setContentView(R.layout.main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView)findViewById(R.id.camerapreview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
Button buttonStart = (Button)findViewById(R.id.start);
Button buttonStop = (Button)findViewById(R.id.stop);
buttonStart.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
pressStart();
}
});
buttonStop.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View v) {
pressStop();
}
});
}
private void pressStart() {
if(!recording){
initRecorder();
recording = true;
recorder.start();
}
}
private void pressStop() {
if(recording){
recorder.stop();
recording = false;
initRecorder();
}
}
private void initRecorder() {
try{
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
recorder.setOutputFile("/sdcard/recordvideooutput.3gpp");
recorder.setPreviewDisplay(surfaceHolder.getSurface());
recorder.prepare();
}
catch (Exception e) {
String message = e.getMessage();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
if (camera != null){
try {
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
previewing = true;
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
if (recording) {
recorder.stop();
recording = false;
}
recorder.release();
camera.stopPreview();
camera.release();
camera = null;
previewing = false;
}
}