Android自定义照相机实现(拍照、保存到SD卡,音视频开发工程师需要具备的知识

本文展示了如何在Android应用中实现自定义相机功能,包括拍照、保存图片到SD卡,并提供了关键代码片段。内容涵盖相机参数设置、图片保存、SurfaceView使用以及与UI交互的处理。适合移动开发特别是Android开发者学习。
摘要由CSDN通过智能技术生成
  • @author wwj

  • @date 2013/4/29

*/

public class MainActivity extends Activity {

private View layout;

private Camera camera;

private Camera.Parameters parameters = null;

Bundle bundle = null; // 声明一个Bundle对象,用来存储数据

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// 显示界面

setContentView(R.layout.activity_main);

layout = this.findViewById(R.id.buttonLayout);

SurfaceView surfaceView = (SurfaceView) this

.findViewById(R.id.surfaceView);

surfaceView.getHolder()

.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

surfaceView.getHolder().setFixedSize(176, 144); //设置Surface分辨率

surfaceView.getHolder().setKeepScreenOn(true);// 屏幕常亮

surfaceView.getHolder().addCallback(new SurfaceCallback());//为SurfaceView的句柄添加一个回调函数

}

/**

  • 按钮被点击触发的事件

  • @param v

*/

public void btnOnclick(View v) {

if (camera != null) {

switch (v.getId()) {

case R.id.takepicture:

// 拍照

camera.takePicture(null, null, new MyPictureCallback());

break;

}

}

}

/**

  • 图片被点击触发的时间

  • @param v

*/

public void imageClick(View v) {

if (v.getId() == R.id.scalePic) {

if (bundle == null) {

Toast.makeText(getApplicationContext(), R.string.takephoto,

Toast.LENGTH_SHORT).show();

} else {

Intent intent = new Intent(this, Show

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值