请问这种微型微信用前置照相机拍照怎么开关,拍照和录像啊

您在寻找什么商品吗?
很抱歉。您输入的网址在我们的网站上无法正常显示网页实现打开Android系统相册、照相机并实现照相,录像功能。 - CSDN博客
实现打开Android系统相册、照相机并实现照相,录像功能。
通过本篇博客,你将学到以下知识点:
1.学会如何打开Android系统中相册的图片,视频,并使用这些图片,视频。
2.学会如何打Android开照相机进行照相,录像,并使用这样图片和视频。
下面我将展示两种方法来实现这些需求,注意:以下代码要用真机测试才行。
效果展示先:
一. 第一种方法:
①.想顺利的打开Android手机中的相册和照相机,首先我们要在清单中注册一些权限:
android:name="android.permission.CAMERA"/&
android:name="android.permission.RECORD_AUDIO"/&
android:name="android.permission.READ_EXTERNAL_STORAGE"/&
android:name="android.hardware.Camera"/&
②.MainActivity的代码:
* 通过相机拍照返回的Bitmap有两种方式:
* 1.不传入MediaStore.EXTRA_OUTPUT时,直接由data返回一个缩略图
* 2.当传入MediaStore.EXTRA_OUTPUT时,可以通过设置的图片保存路径来获取完整图片
public class MainActivity extends AppCompatActivity {
private ImageV
private VideoView videoV
private final static int FLAG_REQUEST_SYSTEM_IMAGE = 0;
private final static int FLAG_REQUEST_CAMERA_IMAGE = 1;
private final static int FLAG_REQUEST_CAMERA_VIDEO = 2;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
videoView = (VideoView) findViewById(R.id.video);
public void doclick(View view) {
switch (view.getId()) {
case R.id.btn_pick_imager:
doPickImageFromSystem();
case R.id.btn_open_pick_imager:
doOpenCameraForImage();
case R.id.btn_open_pick_video:
doOpenCameraForVideo();
private void doPickImageFromSystem() {
* 参数一:打开系统相册的ACTION
* 参数二:返回数据的方式(从系统相册的数据库获取)
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, FLAG_REQUEST_SYSTEM_IMAGE);
private void doOpenCameraForImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("/sdcard/test.jpg")));
startActivityForResult(intent,FLAG_REQUEST_CAMERA_IMAGE);
private void doOpenCameraForVideo() {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File("/sdcard/test.mp4")));
startActivityForResult(intent, FLAG_REQUEST_CAMERA_VIDEO);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
Log.i("info", "确认用户操作");
switch (requestCode) {
case FLAG_REQUEST_SYSTEM_IMAGE:
Uri uri = data.getData();
Cursor c = getContentResolver().query(uri, new String[]{MediaStore.Images.Media.DATA}, null, null, null);
if (c != null) {
c.moveToFirst();
String path = c.getString(c.getColumnIndex(MediaStore.Images.Media.DATA));
iv.setImageBitmap(BitmapFactory.decodeFile(path));
case FLAG_REQUEST_CAMERA_IMAGE:
if (data != null) {
Bitmap bm = data.getParcelableExtra("data");
iv.setImageBitmap(bm);
Bitmap bm = BitmapFactory.decodeFile("/sdcard/test.jpg");
iv.setImageBitmap(bm);
case FLAG_REQUEST_CAMERA_VIDEO:
videoView.setVideoURI(Uri.parse("/sdcard/test.mp4"));
videoView.start();
Log.i("info", "取消用户操作");
③布局xml文件:
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&
android:id="@+id/btn_pick_imager"
android:onClick="doclick"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="选取系统相册"/&
android:id="@+id/btn_open_pick_imager"
android:onClick="doclick"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="打开相机拍照"/&
android:id="@+id/btn_open_pick_video"
android:onClick="doclick"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="打开相机录像"
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/iv"/&
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/video"/&
第二种方法:这种方法主要是使用CameraUtils这个工具类,因为这个工具类封装了这些繁琐的方法,有了这个工具类,代码量将减少很多,想实现这些业务的话只要调用CameraUtils这个工具类即可。
①。第一步还是注册权限:
android:name="android.permission.CAMERA"/&
android:name="android.permission.RECORD_AUDIO"/&
android:name="android.permission.READ_EXTERNAL_STORAGE"/&
android:name="android.hardware.Camera"/&
②MainActivity的代码:
* 通过相机拍照返回的Bitmap有两种方式:
* 1.不传入MediaStore.EXTRA_OUTPUT时,直接由data返回一个缩略图
* 2.当传入MediaStore.EXTRA_OUTPUT时,可以通过设置的图片保存路径来获取完整图片
public class MainActivity extends AppCompatActivity {
private ImageV
private VideoView videoV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
videoView = (VideoView) findViewById(R.id.video);
public void doClick(View view) {
switch (view.getId()) {
case R.id.btn_pick_image:
doPickImageFromSystem();
case R.id.btn_open_camera_for_image:
doOpenCameraForImage();
case R.id.btn_open_camera_for_video:
doOpenCameraForVideo();
private void doPickImageFromSystem() {
* 参数一:打开系统相册的ACTION
* 参数二:返回数据的方式(从系统相册的数据库获取)
CameraUtils.pickImageFromSystem(this);
private void doOpenCameraForImage() {
CameraUtils.openCameraForImage(this);
private void doOpenCameraForVideo() {
CameraUtils.openCameraForVideo(this);
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case CameraUtils.RequestCode.FLAG_REQUEST_SYSTEM_IMAGE:
String path = CameraUtils.getImagePathFromSystem(this, data);
if (path != null) {
iv.setImageBitmap(BitmapFactory.decodeFile(path));
case CameraUtils.RequestCode.FLAG_REQUEST_CAMERA_IMAGE:
if (data != null) {
Bitmap bm = data.getParcelableExtra("data");
iv.setImageBitmap(bm);
Bitmap bm = BitmapFactory.decodeFile(CameraUtils.CAMERA_IMAGE);
iv.setImageBitmap(bm);
case CameraUtils.RequestCode.FLAG_REQUEST_CAMERA_VIDEO:
videoView.setVideoURI(data.getData());
videoView.start();
Log.i("info", "取消用户操作");
③.CameraUtils工具类的代码:
public class CameraUtils
public static final String CAMERA_IMAGE = "/sdcard/test.jpg";
public static final String CAMERA_VIDEO = "/sdcard/test.mp4";
public static void pickImageFromSystem(Activity activity)
* 参数一:打开系统相册的ACTION 参数二:返回数据的方式(从系统相册的数据库获取)
Intent intent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
activity.startActivityForResult(intent,
RequestCode.FLAG_REQUEST_SYSTEM_IMAGE);
public static String getImagePathFromSystem(Activity activity, Intent data)
Uri uri = data.getData();
Cursor c = activity.getContentResolver().query(uri,
new String[]{MediaStore.Images.Media.DATA}, null, null, null);
if (c != null)
c.moveToFirst();
String path = c.getString(c
.getColumnIndex(MediaStore.Images.Media.DATA));
return null;
public static void openCameraForImage(Activity activity)
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(CAMERA_IMAGE)));
activity.startActivityForResult(intent,
CameraUtils.RequestCode.FLAG_REQUEST_CAMERA_IMAGE);
public static void openCameraForVideo(Activity activity)
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(CAMERA_VIDEO)));
activity.startActivityForResult(intent,
RequestCode.FLAG_REQUEST_CAMERA_VIDEO);
public interface RequestCode
int FLAG_REQUEST_SYSTEM_IMAGE = 0;
int FLAG_REQUEST_CAMERA_IMAGE = 1;
int FLAG_REQUEST_CAMERA_VIDEO = 2;
④.布局xml文件:
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"&
android:id="@+id/btn_pick_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="doClick"
android:text="选取系统相册图片" /&
android:id="@+id/btn_open_camera_for_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="doClick"
android:text="打开相机拍照" /&
android:id="@+id/btn_open_camera_for_video"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="doClick"
android:text="打开相机录像" /&
android:id="@+id/iv"
android:layout_width="match_parent"
android:layout_height="120dp" /&
android:id="@+id/video"
android:layout_width="match_parent"
android:layout_height="200dp" /&
本文已收录于以下专栏:
相关文章推荐
最近在Android Studio上折腾代码,昨天编译器又很不给面子的报错了:Error type 3
Error: Activity class {com.example.myapplication...
转自:http://blog.csdn.net/binyao/article/details/8576916
manifest 里添加权限
今天本来想写一篇关于百度地图定位SDK的文章的,无奈根据官网提供的例子编写的程序始终无法运行,所以这个计划只能落空。那么今天要与大家分享的是Camera,即照相机。随着硬件能力的大幅提升,手机上各种依...
这里举一个例子 方便我们更好的理解
本博文为子墨原创,转载请注明出处!
http://blog.csdn.net/zimo2013/article/details/
1.调用系统照相机
我的情况:我自定义了一个Activity继承自FragementActivity,在里边使用一下代码
Intent intent = new Intent(MediaStore.ACTION_I...
如今,Android开发已经成为移动互联开发领域中一支不可或缺的力量,那么Android中要实现3D的效果那也就是合情合理的事情了。那么,如何在Android中实现向IOS中那样的3D图片浏览效果呢?...
他的最新文章
讲师:吴岸城
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)墙壁开关型微型摄像机 - 深圳微智科技有限公司
您当前位置:>, , , >
墙壁开关型微型摄像机
墙壁开关型微型摄像机
墙壁开关型微型摄像机是2001年按照台湾客户需求定制开发的,采用SONY摄像机的高清IC,采用长时间的录像技术,是一款特别定制的产品,因为合作之中的保密条款,直到现在我们才能把相关的技术细节分享给广大的深圳微智客户,提供大家参考;
墙壁开关型微型摄像机
墙壁开关型微型摄像机编号:MIS-WS10
相机: 200万像素的CMOS
分辨率640X480@30帧/fps的
低照度:1.3LEX
镜头:0.6mm
记忆卡: MicroSD,最高支持32G的SDHC
电池容量950mA
充电时间r3小时
工作小时VGA:320min。 / HD:260min。 (大约)
待机小时:多约5天
操作模式:外探测器触发录像/红外触发照片
LED指示灯: 绿色:充电
蓝色:电量低
红色:录像/照片拍摄
尺寸:16.5X85.5X85.5mm
墙壁开关设计隐蔽DVR
●最小的200万像素的针孔照相机特别是
●快速和容易的安装/解除安装
●实时记录任何视频和音频证据
●红外自动监测功能
●录像和照片拍摄的红外功能
●RTC(实时时钟)功能
●720P30fps的高清晰度视频。avi格式
相关文章列表:
Copyright (C)
All rights reserved. 版权所有 &&& 深圳微智科技有限公司主要生产、销售:,,等摄像器材,以及配件!
地址:深圳福田区华发北路太平洋安防市场2B025&&&& 店名:深圳市福田区太平洋安防通讯市场智电商行&联系人:徐 & QQ & Email:您在寻找什么商品吗?
很抱歉。您输入的网址在我们的网站上无法正常显示网页}

我要回帖

更多关于 佳能照相机录像 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信