这里是代码
package wmy.cameratset;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.Size;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.Display;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.View;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;public class CameraTestActivity extends Activity implements Callback {
    private static final String TAG = null;
/** Called when the activity is first created. */
private Button buttonstart;
private Button buttonstop;
private SurfaceView mySurfaceView;
private SurfaceHolder myHolder;
private android.hardware.Camera myCamera;
private File dir;
private File myRecAudioFile;//创建临时文件
private MediaRecorder myRecord;
String path;

    @Override
    public void onCreate(Bundle savedInstanceState) {
     FileOutputStream outStream;
     super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        File defaultDir = Environment.getExternalStorageDirectory(); 
         path = defaultDir.getAbsolutePath()+File.separator+"Video"+File.separator;
        //创建文件夹存放视频 
        dir = new File(path); 
        if(!dir.exists())
        { dir.mkdir(); }
        buttonstart=(Button)findViewById(R.id.start);
        buttonstop=(Button)findViewById(R.id.stop);
        mySurfaceView=(SurfaceView)findViewById(R.id.mySurfaceView);
        myHolder=mySurfaceView.getHolder();
        myHolder.addCallback(this);
    
  //      getWindow().setFormat(PixelFormat.TRANSLUCENT);
//       requestWindowFeature(Window.FEATURE_NO_TITLE);
        myHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
        myRecord=new MediaRecorder();
        buttonstart.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
startrecord();
}
});
        
        buttonstop.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub
stoprecord();
}
});
        
     }
    public void stoprecord(){
     myRecord.stop();
     myRecord.release();
     myRecord.reset();
    
    }
    
    public void startrecord(){
     try {
myRecAudioFile = File.createTempFile("video", ".3gp",dir);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//创建临时文件
    
     myRecord.setCamera(myCamera);
   myRecord.setPreviewDisplay(myHolder.getSurface());
    myRecord.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
    myRecord.setVideoSource(MediaRecorder.VideoSource.CAMERA);
//    myRecord.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
//   myRecord.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
//  myRecord.setVideoSize(320, 480);
    myRecord.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
    myRecord.setOutputFile(myRecAudioFile.getAbsolutePath());
//   myRecord.setOutputFormat(15);
    
    try {
myRecord.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
  
    myRecord.setMaxFileSize(100000000);
           myRecord.start();
    }
    
    
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
// myCamera=Camera.open();
Log.d("data","surfaceChanged");
Camera.Parameters paremeter =myCamera.getParameters();
// paremeter.set("ORIENTATION", "PORTRAIT");
// paremeter.set("ROTATION", 90); paremeter.setPreviewFrameRate(15);
myCamera.setParameters(paremeter); myCamera.startPreview();


}
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
Log.d(TAG,"surfaceCreated");
myCamera=Camera.open();
try {
//Camera.Parameters paremeter =myCamera.getParameters();
// paremeter.set("ORIENTATION", "PORTRAIT");
// paremeter.set("ROTATION", 90);
myCamera.setPreviewDisplay(holder);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub

}
}下面是权限<uses-permission android:name="android.permission.CAMERA" />
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.RECORD_AUDIO" />
        <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
       <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>