my code is:
1)for video preview:
Using java Syntax Highlighting
- package com.work.camerautil;
- import java.io.IOException;
- import android.content.Context;
- import android.hardware.Camera;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- public class Preview extends SurfaceView implements SurfaceHolder.Callback {
- SurfaceHolder m_cHolder;
- Camera m_cCamera;
- boolean m_cState=false;
- Preview(Context context) {
- super(context);
- // Install a SurfaceHolder.Callback so we get notified when the
- // underlying surface is created and destroyed.
- m_cHolder = getHolder();
- m_cHolder.addCallback(this);
- m_cHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
- }
- public void surfaceCreated(SurfaceHolder holder) {
- // The Surface has been created, acquire the camera and tell it where
- // to draw.
- m_cCamera = Camera.open();
- try {
- m_cCamera.setPreviewDisplay(holder);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public void surfaceDestroyed(SurfaceHolder holder) {
- // Surface will be destroyed when we return, so stop the preview.
- // Because the CameraDevice object is not a shared resource, it's very
- // important to release it when the activity is paused.
- m_cCamera.stopPreview();
- m_cCamera = null;
- }
- public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
- // Now that the size is known, set up the camera parameters and begin
- // the preview.
- Camera.Parameters parameters = m_cCamera.getParameters();
- // Camera.par
- parameters.setPreviewSize(w, h);
- m_cCamera.setParameters(parameters);
- m_cCamera.startPreview();
- }
- }
Parsed in 0.037 seconds, using GeSHi 1.0.8.4
2)for capturing video
Using java Syntax Highlighting
- package com.work.camerautil;
- import java.io.IOException;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.content.DialogInterface.OnClickListener;
- import android.media.MediaRecorder;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.SurfaceHolder;
- import android.view.SurfaceView;
- public class Capture extends Activity {
- private static final int START_VIDEO = 1;
- private static final int SAVE_VIDEO = 2;
- private static final int EXIT = 3;
- private static final int LOCATION = 4;
- private Preview mPreview;
- SurfaceView sv;
- AndroidFileBrowser m_cBrowser;
- SurfaceHolder holder;
- MediaRecorder m_cRecorder = new MediaRecorder();
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mPreview = new Preview(this);
- setContentView(mPreview);
- m_cRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
- m_cRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
- m_cRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
- m_cRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
- m_cRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
- m_cRecorder.setOutputFile("/sdcard/DCIM/100ANDRO/test28.mp4");
- }
- public boolean onCreateOptionsMenu(Menu pMenu) {
- pMenu.add(0,START_VIDEO,0,"Capture");
- pMenu.add(0,SAVE_VIDEO,0,"Save");
- pMenu.add(0,EXIT,0,"Exit");
- pMenu.add(0,LOCATION,0,"open");
- return true;
- }
- public boolean onOptionsItemSelected(MenuItem pItem) {
- switch(pItem.getItemId()){
- case LOCATION:
- next();
- return true;
- case START_VIDEO:
- try {
- m_cRecorder.prepare();
- } catch (IllegalStateException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try{
- m_cRecorder.start();
- }catch(Exception e){
- e.toString();
- }
- return true;
- case SAVE_VIDEO:
- saveVideo();
- return true;
- case EXIT:
- finish();
- return true;
- }
- return false;
- }
- public void saveVideo(){
- try{
- m_cRecorder.stop();
- //m_cRecorder.reset();
- m_cRecorder.release();
- }catch(Exception e){
- e.toString();
- }
- }
- }
Parsed in 0.043 seconds, using GeSHi 1.0.8.4
3)my manifest file
Using xml Syntax Highlighting
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.work.camerautil"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-permission android:name="android.permission.CAMERA" />
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".Capture"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- <uses-sdk android:minSdkVersion="3" />
- </manifest>
Parsed in 0.003 seconds, using GeSHi 1.0.8.4
thanks for ur help.

