package cn.flys.camera;
import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.CameraInfo;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.Button;
public class SwitchActivity extends Activity implements OnClickListener{
private Preview mPreview;
private Button mBtnSwitch;
private Camera mCamera;
private int numCamera;
private int cameraId;
private int cameraCurrentId;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
mPreview = new Preview(this);
setContentView(mPreview);
mBtnSwitch = new Button(this);
mBtnSwitch.setText("切换前置摄像头");
mBtnSwitch.setOnClickListener(this);
addContentView(mBtnSwitch, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
numCamera = Camera.getNumberOfCameras();
CameraInfo info = new CameraInfo();
for(int i = 0;i< numCamera;i++){
Camera.getCameraInfo(i, info);
if(info.facing == CameraInfo.CAMERA_FACING_BACK){
cameraId = i;
}
}
}
@Override
protected void onResume() {
mCamera = Camera.open();
mPreview.setCamera(mCamera);
cameraCurrentId = cameraId;
super.onResume();
}
@Override
protected void onPause() {
if (mCamera != null) {
mPreview.setCamera(null);
mCamera.release();
mCamera = null;
}
super.onPause();
}
@Override
public void onClick(View v) {
if(mBtnSwitch.getText().equals("切换前置摄像头")){
mBtnSwitch.setText("切换后置摄像头");
}else{
mBtnSwitch.setText("切换前置摄像头");
}
if (mCamera != null) {
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
mCamera = Camera
.open((cameraCurrentId + 1) % numCamera);
cameraCurrentId = (cameraCurrentId + 1)
% numCamera;
mPreview.switchCamera(mCamera);
mCamera.startPreview();
}
}
Android 切换前后置摄像头 Demo
5星 · 超过95%的资源 需积分: 45 48 浏览量
2012-05-24
15:19:25
上传
评论 7
收藏 57KB ZIP 举报
zjt19870816
- 粉丝: 1
- 资源: 10
最新资源
- 青岛大学人工智能实验二 利用α-β搜索的博弈树算法编写一字棋游戏
- ### 1、项目介绍 本项目Scrapy进行数据爬取,并使用Django框架+PyEcharts实现可视化大屏 效果如下:
- # 微信小程序-健康菜谱 基于微信小程序的一个查找检索菜谱的应用 ### 效果 !动态图(./res/gif/demo
- zabbix-get命令包资源
- 289ssm-mysql-jsp 计算机课程实验管理系统.zip(可运行源码+数据库文件+文档)
- 毕业设计,基于PyQt5实现的可视化界面的Python车牌自动识别系统源码
- 20-天天果园项目.rar
- 26-朴素贝叶斯分类.rar
- 没有安Matlab 也可以 生成FIR抽头系数工具.py
- 自助购药小程序源代码含文档
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
- 4
- 5
- 6
前往页