iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android如何调用外置摄像头
  • 894
分享到

Android如何调用外置摄像头

2023-06-29 17:06:08 894人浏览 泡泡鱼
摘要

这篇文章主要介绍了Android如何调用外置摄像头的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android如何调用外置摄像头文章都会有所收获,下面我们一起来看看吧。布局文件<?xml ver

这篇文章主要介绍了Android如何调用外置摄像头的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android如何调用外置摄像头文章都会有所收获,下面我们一起来看看吧。

布局文件

<?xml version="1.0" encoding="utf-8"?><RelativeLayout android:layout_width="match_parent"    android:layout_height="match_parent"    xmlns:android="Http://schemas.android.com/apk/res/android">    <TextureView        android:id="@+id/textureview"        android:layout_width="1dp"        android:layout_height="1dp"/>    <ImageButton        android:id="@+id/play"        android:layout_width="60dp"        android:layout_height="60dp"        android:layout_centerHorizontal="true"        android:layout_alignParentBottom="true"        android:background="@drawable/ic_launcher_background"        android:contentDescription="@string/app_name"        android:layout_marginBottom="10dp"/></RelativeLayout>

相应的MainActivity.java的主要代码如下

package com.deepreality.takephotowithusbcamera;import android.Manifest;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.SurfaceTexture;import android.hardware.Camera;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.TextureView;import android.view.View;import android.widget.ImageButton;import android.widget.Toast;import com.tbruyelle.rxpermissions2.RxPermissions;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFORMat;import java.util.Date;public class MainActivity extends AppCompatActivity implements TextureView.SurfaceTextureListener, View.OnClickListener {    private static final String TAG = MainActivity.class.getSimpleName();    private Camera mCamera;    private ImageButton mPlayButton;    private RxPermissions rxPermissions;    private int permissionNum;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        rxPermissions = new RxPermissions(MainActivity.this);        checkUserAllPermissions();        mPlayButton = (ImageButton) findViewById(R.id.play);        mPlayButton.setOnClickListener(this);        ((TextureView) findViewById(R.id.textureview))                .setSurfaceTextureListener(this);    }    private void takePic() {        if (mCamera != null) {            //调用抓拍摄像头抓拍            mCamera.takePicture(null, null, pictureCallback);        } else {            Log.e("TAG", "请检查摄像头!");        }    }    private Bitmap mBitmap;    public Camera.PictureCallback pictureCallback = new Camera.PictureCallback() {        @Override        public void onPictureTaken(byte[] data, Camera camera) {            Log.i("ygy", "onPictureTaken");            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式            System.out.println(df.format(new Date()));// new Date()为获取当前系统时间            String picName = df.format(new Date());            Toast.makeText(getApplicationContext(), "正在保存...", Toast.LENGTH_LONG).show();            mBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);            File file = new File("/storage/emulated/0/" + picName + ".jpg");            try {                file.createNewFile();                BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file));                mBitmap.compress(Bitmap.CompressFormat.JPEG, 100, os);                os.flush();                os.close();                Toast.makeText(getApplicationContext(), "图像保存成功", Toast.LENGTH_LONG).show();            } catch (IOException e) {                e.printStackTrace();            }        }    };    @Override    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {        mCamera = Camera.open(0);        if (mCamera != null) {            try {                mCamera.setPreviewTexture(surface);                mCamera.startPreview();            } catch (IOException e) {                Log.d("TAG", e.getMessage());            }        }    }    @Override    protected void onStop() {        if (mCamera != null) {            mCamera.stopPreview();            mCamera.release();            mCamera = null;        }        super.onStop();    }    @Override    public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {    }    @Override    public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {        if (mCamera != null) {            mCamera.stopPreview();            mCamera.release();            mCamera = null;        }        return false;    }    @Override    public void onSurfaceTextureUpdated(SurfaceTexture surface) {    }    @Override    public void onClick(View v) {        if (mCamera == null) {            return;        }        takePic();    }        private void checkUserAllPermissions() {        rxPermissions                .requestEach(Manifest.permission.WRITE_EXTERNAL_STORAGE,                        Manifest.permission.CAMERA                )                .subscribe(permission -> {                    if (permission.granted) {                    } else if (permission.shouldShowRequestPermissionRationale) {                    } else {}                    permissionNum ++;                    if (permissionNum == 2) {                    }                });    }}

注意在清单文件里AndroidManifest.xml添加用户权限

<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

关于“Android如何调用外置摄像头”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Android如何调用外置摄像头”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Android如何调用外置摄像头

本文链接: https://www.lsjlt.com/news/325865.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android如何调用外置摄像头
    这篇文章主要介绍了Android如何调用外置摄像头的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android如何调用外置摄像头文章都会有所收获,下面我们一起来看看吧。布局文件<xml vers...
    99+
    2023-06-29
  • Android相机调用-CameraX【外接摄像头】【USB摄像头】
    Android相机调用有原生的Camera和Camera2,我觉得调用代码都太复杂了,CameraX调用代码简洁很多。 说明文档:https://developer.android.com/jetpack/androidx/releases...
    99+
    2023-10-22
    数码相机 android
  • Android调用外置摄像头的方法
    本文实例为大家分享了Android调用外置摄像头的具体代码,供大家参考,具体内容如下 1、布局文件 <xml version="1.0" encoding="utf-8">...
    99+
    2024-04-02
  • ubuntu调用外接摄像头
    一、ubuntu20.04调用外接摄像头(如果是Ubuntu18.04用melodic放在第二行) 1.检查是否连接摄像头 ls /dev/video* 输出/dev/video0  /dev/video1  /dev/video2  /d...
    99+
    2023-08-31
    ubuntu linux python
  • OpenCV调用摄像头
    环境 python:python3.6摄像头:网络摄像头Python库:openCV # -*- coding: utf-8 -*- # @author leone # @desc 使用 python 的 openCV 获取网络摄像...
    99+
    2023-01-31
    摄像头 OpenCV
  • html5如何实现调用摄像头
    小编给大家分享一下html5如何实现调用摄像头,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!html是什么html的全称为超文本标记语言,它是一种标记语言,包含了...
    99+
    2023-06-09
  • python调用摄像头
    import cv2 #模块称作cv2。python需要用到opencv-python模块。可在命令行模式输入: #pip install opencv-python -i https://pypi.douban.com/simple/ c...
    99+
    2023-10-01
    python opencv 开发语言
  • Android中怎么调用摄像头拍照
    本篇文章给大家分享的是有关Android中怎么调用摄像头拍照,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。第一步,获取权限if (ContextCompat.chec...
    99+
    2023-06-04
  • Android调用手机摄像头的方法
    本文实例为大家分享了Android调用手机摄像头的具体代码,供大家参考,具体内容如下 根据<第一行代码>进行改写: 布局文件,只有一个按钮,和一个Imageview,im...
    99+
    2024-04-02
  • 关于Python如何调用摄像头
    完整代码 import cv2 cap = cv2.VideoCapture(0) while(cap.isOpened()): retval, frame = cap.re...
    99+
    2023-05-16
    Python 摄像头 Python 调用摄像头
  • Python如何实现调用摄像头拍摄照片
    本文小编为大家详细介绍“Python如何实现调用摄像头拍摄照片”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现调用摄像头拍摄照片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。步骤用opencv...
    99+
    2023-07-02
  • Android如何实现调用手机摄像头录像限制录像时长
    小编给大家分享一下Android如何实现调用手机摄像头录像限制录像时长,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下因为服务器空间有限,所以视频时长必须有所限制。在xml中先布局一个按钮,点击开始录频。布局一个...
    99+
    2023-06-29
  • win7怎么打开外置摄像头
    要打开外置摄像头,首先确保摄像头已正确插入电脑的USB接口。然后按照以下步骤进行操作:1. 在Windows 7任务栏上找到"开始"...
    99+
    2023-08-30
    win7
  • python中如何通过opencv调用摄像头
    这篇文章主要为大家展示了“python中如何通过opencv调用摄像头”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python中如何通过opencv调用摄像头”这篇文章吧。实例源码:#pip3...
    99+
    2023-06-15
  • WPF使用AForge调用摄像头
    AForge引用 1.创建WPF项目, 在NuGet安装AForge相关SDK包: 2.项目引用 2.1.由于在WPF当中使用AForge,需要通过WindowsFormsHost...
    99+
    2024-04-02
  • HTML5如何通过navigator.mediaDevices.getUserMedia调用手机摄像头
    这篇文章主要介绍了HTML5如何通过navigator.mediaDevices.getUserMedia调用手机摄像头,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。navi...
    99+
    2023-06-09
  • yolov5调用usb摄像头及本地摄像头的方法实例
    目录yolov5调用usb摄像头YOLOv5调用本地摄像头总结yolov5 调用 usb 摄像头 文章是在yolov5 v5.0版本的detect.py所修改编写 其他v1.0-v4...
    99+
    2024-04-02
  • Python实现调用摄像头拍摄照片
    目录步骤代码实现效果步骤 用opencv打开摄像头并拍照保存照片到本地获取邮箱(如qq邮箱)的授权码,方法可自行百度将照片以附件的形式发送到指定邮箱删除本地照片 代码 import ...
    99+
    2024-04-02
  • Android实现调用手机摄像头录像限制录像时长
    本文实例为大家分享了Android实现调用手机摄像头录像限制录像时长的具体代码,供大家参考,具体内容如下 因为服务器空间有限,所以视频时长必须有所限制。 在xml中先布局一个按钮,点...
    99+
    2024-04-02
  • Android修行手册-多路USB外接摄像头
    点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例点击跳转=>软考全系列 ...
    99+
    2023-09-03
    android 游戏引擎 摄像头 图像处理 usb
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作