导航:首页 > 操作系统 > androidcameraopen

androidcameraopen

发布时间:2025-05-20 20:53:07

android开发 如何打开前置摄像头的代码

找到surficeView
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
设置它的像素为800x600
surfaceView.getHolder().setFixedSize(800,480);
//下面设置surfaceView不维护自己的缓冲区,而是等待屏幕的渲染引擎将内容推送到用户面前
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
然后就是回调
surfaceView.getHolder().addCallback(newSurfaceCallback());
上面的回调类是我们自己定义的,代码如下
private class SurfaceCallback implementsSurfaceHolder.Callback{
@Override
public void surfaceCreated(SurfaceHolderholder) {
try {
camera = Camera.open();//打开硬件摄像头,这里导包得时候一定要注意是android.hardware.Camera
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);//得到窗口管理器
Display display = wm.getDefaultDisplay();//得到当前屏幕
Camera.Parameters parameters =camera.getParameters();//得到摄像头的参数
parameters.setPreviewSize(display.getWidth(),display.getHeight());//设置预览照片的大小
parameters.setPreviewFrameRate(3);//设置每秒3帧
parameters.setPictureFormat(PixelFormat.JPEG);//设置照片的格式
parameters.setJpegQuality(85);//设置照片的质量
parameters.setPictureSize(display.getHeight(),display.getWidth());//设置照片的大小,默认是和屏幕一样大
camera.setParameters(parameters);
camera.setPreviewDisplay(surfaceView.getHolder());//通过SurfaceView显示取景画面
camera.startPreview();//开始预览
isPreview = true;//设置是否预览参数为真
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}

@Override
public void surfaceChanged(SurfaceHolderholder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolderholder) {
if(camera!=null){
if(isPreview){//如果正在预览
camera.stopPreview();
camera.release();
}
}
}
}

❷ android如何获取相机分辨率

安卓系统在获取相机分辨率时,可以参考SDK中的API,获取相机的参数:

Camera.Parameters parameters = camera.getParameters();

获取预览的各种分辨率:

List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();

获取摄像头支持的各种分辨率:

List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();

例如:获取照相机参数,设置需要的参数,其余缺省

Camera camera = Camera.open();

Camera.Parameters parameters = camera.getParameters();

设置照片格式:

parameters.setPictureFormat(PixelFormat.JPEG);

设置预浏尺寸,注意要在摄像头支持的范围内选择:

parameters.setPreviewSize(WIDTH, HEIGHT);

设置照片分辨率,注意要在摄像头支持的范围内选择

parameters.setPictureSize(WIDTH, HEIGHT);

设置照相机参数:

camera.setParameters(parameters);

开始拍照:

camera.startPreview();

以上就是获取相机分辨率的步骤。

❸ android 摄像机权限问题 Camera.open();

直接 try catch 不可以吗?虽然没有做到不可用就不用,但是不可用时用了也不会崩溃,可以满足你的要求,也可以在打不开时添加处理

阅读全文

与androidcameraopen相关的资料

热点内容
什么叫反编译呢 浏览:131
au和什么编译软件一起用 浏览:750
android登录背景 浏览:591
51单片机的简易电子琴设计 浏览:166
linux网卡驱动怎么安装 浏览:144
为什么用代理服务器比不用代理快 浏览:138
如何取消手机危险app 浏览:54
程序员去哪里定居比较好 浏览:456
php帮 浏览:713
中餐厅怎么选择服务器 浏览:432
登录亚马逊需要买什么云服务器 浏览:320
迪士尼app上如何激活年卡 浏览:58
android按钮向右 浏览:599
串口命令表 浏览:402
2262pdf 浏览:690
我的世界如何解冻别人服务器 浏览:640
python取代php 浏览:664
win7服务器如何访问外网访问 浏览:261
java字母ascii 浏览:844
c语言不能直接编译出复杂功能 浏览:222