• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Apps help n video record application

eli314

Lurker
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...



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;
	}
}
 
Back
Top Bottom