Android开发之初识Camera图像采集
来源:互联网 发布:怎么关闭ftp21端口 编辑:程序博客网 时间:2024/05/18 02:31
下面记录一个简单的相机的制作方法。
注意这里是uses不是user否则会报错链接无法连接camera的错误
如果在模拟器中运行,可以得到如图所示的情形。如果在真机上运行,则会打开摄像头,将实际的影响显现出来。关闭时,则定在关闭时的画面。这样基本可以完成了图像的采集。如果程序中对相机有要求的话,可以采用这种方式进行
制作相机,首先需要添加照相的权限。添加方法是在AndroidManifest.xml文件中添加
<uses-permission android:name=” android.permission.CAMERA”>
注意这里是uses不是user否则会报错链接无法连接camera的错误
其次:修改布局文件:如下代码所示。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <SurfaceView android:id = "@+id/mySurfaceView" android:layout_width="320px" android:layout_height="240px"> </SurfaceView> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" > <Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="打开"/> <Button android:id="@+id/myButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="关闭"/> </LinearLayout> </LinearLayout>
package tcamera.n.com.tcamera;import android.app.Activity;import android.hardware.Camera;import android.hardware.Camera.ErrorCallback;import java.io.IOException;import android.os.Bundle;import android.util.Log;import android.view.SurfaceHolder;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements Callback { Camera myCamera; SurfaceView mySurfaceView; SurfaceHolder mySurfaceHolder; Button myButton1; Button myButton2; boolean isPreview = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tcam); mySurfaceView = (SurfaceView) findViewById(R.id.mySurfaceView); myButton1 = (Button) findViewById(R.id.myButton); myButton2 = (Button) findViewById(R.id.myButton2); mySurfaceHolder = mySurfaceView.getHolder(); mySurfaceHolder.addCallback(this); mySurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); myButton1.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { initCamera(); } }); myButton2.setOnClickListener(new Button.OnClickListener() { @Override public void onClick(View v) { if (myCamera != null & isPreview) { myCamera.stopPreview(); myCamera.release(); myCamera = null; isPreview = false; } } }); } public void initCamera() { if (!isPreview) { myCamera = Camera.open(0); } if (myCamera != null & !isPreview) { try { myCamera.setPreviewDisplay(mySurfaceHolder); myCamera.startPreview(); } catch (IOException e) { e.printStackTrace(); } isPreview = true; } } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceCreated(SurfaceHolder holder) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { }}
如果在模拟器中运行,可以得到如图所示的情形。如果在真机上运行,则会打开摄像头,将实际的影响显现出来。关闭时,则定在关闭时的画面。这样基本可以完成了图像的采集。如果程序中对相机有要求的话,可以采用这种方式进行
0 0
- Android开发之初识Camera图像采集
- Android开发之初识Camera图像采集
- Android开发之初识Camera图像采集
- Android开发之初识Camera图像采集
- (爱加密系列教程二十一)Android开发之初识Camera图像采集
- Android学习05Camera图像采集
- 【Android】操作Camera对象采集图像
- Android Camera 采集之无需界面
- Android开发 之 Camera
- Android Camera开发分辨率 清晰度 图像变形
- Android Camera开发分辨率 清晰度 图像变形
- Android开发之Camera(三)
- 《android多媒体api》之摄像头camera采集原始视频数据
- Android开发之初识CoordinatorLayout
- Android 开发之初识Kotlin
- Android camera系统开发之总括
- Android camera系统开发之总括
- Android camera系统开发之总括
- 数据库进阶之数据库范式
- Linux 下配置Tinyxml,将其编译为静态库
- 40个Java多线程问题总结
- 布局被底部虚拟按键遮住
- 如何使Unity+vuforia做出来的模型导入到Android手机中能够实现阴影效果
- Android开发之初识Camera图像采集
- 关于win7或是winx的DNS异常处理
- Raspberry Pi的GStreamer配置
- React Native之ViewPagerAndroid讲解与应用
- 95.iOS 本地文件夹缓存情况介绍document,tmp,library,caches 文件路径保存 文件适合保存在那种路径下
- 大型网站技术架构(服务器端)
- PAT(B) - 1028. 人口普查(20)
- Spark的Master分析3(Master状态改变机制分析)
- spring自动任务调度