package com.example.camera;import java.io.IOException;import android.app.Activity;import android.media.MediaRecorder;import android.os.Bundle;import android.view.SurfaceHolder;import android.view.SurfaceView;public class MainActivity extends Activity implements SurfaceHolder.Callback {private SurfaceView mSurfaceview = null; // SurfaceView对象:(视图组件)视频显示private SurfaceHolder mSurfaceHolder = null; // SurfaceHolder对象:(抽象接口)SurfaceView支持类private MediaRecorder mediarecorder;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);mSurfaceview = (SurfaceView) findViewById(R.id.surfaceview);mSurfaceHolder = mSurfaceview.getHolder(); // 绑定SurfaceView,取得SurfaceHolder对象mSurfaceHolder.addCallback(this); // SurfaceHolder加入回调接口mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);// 設置顯示器類型,setType必须设置}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {}@Overrideprotected void onPause() {super.onPause();mediarecorder.stop();mediarecorder.release();}@Overridepublic void surfaceCreated(SurfaceHolder holder) {mediarecorder = new MediaRecorder();// 创建mediarecorder对象// 设置录制视频源为Camera(相机)mediarecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);// 设置录制完成后视频的封装格式THREE_GPP为3gp.MPEG_4为mp4mediarecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);// 设置录制的视频编码h263 h264mediarecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);// 设置视频录制的分辨率。必须放在设置编码和格式的后面,否则报错// mediarecorder.setVideoSize(176, 144);// 设置录制的视频帧率。必须放在设置编码和格式的后面,否则报错mediarecorder.setVideoFrameRate(20);mediarecorder.setPreviewDisplay(mSurfaceHolder.getSurface());// 设置视频文件输出的路径mediarecorder.setOutputFile("/sdcard/love.3gp");try {mediarecorder.prepare();mediarecorder.start();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {}}
 参考:http://blog.sina.com.cn/s/blog_972577b3010108p1.html

更多相关文章

  1. android EditText组件
  2. Android_在线视频播放器
  3. Android(安卓)闹钟以及通知
  4. android ComponentName 示例
  5. android透明状态栏
  6. android 在线视频播放器实现方法
  7. Android(安卓)打开Activity后,不显示键盘
  8. android 用VideoView播放本地视频文件
  9. 进度条及拖动条背景颜色设置(progressDrawable)

随机推荐

  1. Android(安卓)shape图形
  2. ANDROID Porting系列一、ANDROID编译系统
  3. Android应用程序进程启动过程(后篇)
  4. Android(安卓)Studio 2.2 正式起航
  5. Android(安卓)Drawable Resources系列6:
  6. Android文件的读写
  7. Android性能调优
  8. android 中文粗体
  9. android studio 在线更新android sdk,遇到
  10. Android中去掉TitleBar、设置应用全屏