`
l540151663
  • 浏览: 185378 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

手机镜子

阅读更多

参考连接:http://blog.csdn.net/wwj_748/article/details/8927784

首先手机必须具备前置摄像头。

找到前置摄像头的id:

private int findFrontCamera() {
int cameraCount = 0;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras(); // get cameras number
for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
return camIdx;
}
}
return -1;
}

设置回调函数:

private final class SurfaceCallback implements Callback {

// 拍照状态变化时调用该方法
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
parameters = camera.getParameters(); // 获取各项参数
parameters.setPictureFormat(PixelFormat.JPEG); // 设置图片格式
parameters.setPreviewSize(width, height); // 设置预览大小
parameters.setPreviewFrameRate(5); // 设置每秒显示4帧
parameters.setPictureSize(width, height); // 设置保存的图片尺寸
parameters.setJpegQuality(80); // 设置照片质量
}

// 开始拍照时调用该方法
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
if (cameraId != -1) {
camera = Camera.open(cameraId); // 打开摄像头
camera.setPreviewDisplay(holder); // 设置用于显示拍照影像的SurfaceHolder对象
camera.setDisplayOrientation(90);
camera.startPreview(); // 开始预览
}
} catch (Exception e) {
e.printStackTrace();
}

}

// 停止拍照时调用该方法
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
if (camera != null) {
camera.release(); // 释放照相机
camera = null;
}
}
}


设置参数,开启预览

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mirror);

cameraId = findFrontCamera();
if (cameraId == -1) {
Toast.makeText(this, "对不起,手机没有前置摄像头!", Toast.LENGTH_SHORT).show();
this.finish();
} else {
SurfaceView surfaceView = (SurfaceView) this.findViewById(R.id.surfaceView);
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
// surfaceView.getHolder().setFixedSize(1, 700); // 设置Surface分辨率
surfaceView.getHolder().setSizeFromLayout();
surfaceView.getHolder().setKeepScreenOn(true);// 屏幕常亮
surfaceView.getHolder().addCallback(new SurfaceCallback());// 为SurfaceView的句柄添加一个回调函数
}
}

别忘了设置权限:<uses-permission android:name="android.permission.CAMERA" />
分享到:
评论

相关推荐

    自定义相机实现的手机镜子

    镜子是每个爱美的人必备的物品,但是并不是什么时候都带在身边;手机也是每个人必备的物品,...今天我们就来通过调用摄像头实现一款手机镜子,去掉手机照相机界面上多余的设置部分,带给大家一个干干净净的原生的镜子。

    手机应用开发创意收集

    手机镜子是一款简单的应用程序,可以将手机屏幕变成镜子。 **关键功能:** - **屏幕镜像:** 将手机屏幕作为镜子使用,便于外出时整理仪容。 - **高清显示:** 保证高清晰度,方便用户查看细节。 #### 六、指纹...

    镜子app源码

    "镜子app"就是这样一款应用,它充分利用了手机的前置摄像头功能,为用户提供了一个随身携带的“镜子”。这款App简洁易用,无论是在日常生活中还是在需要整理仪容的场合,都能提供极大的便利。本文将深入探讨"镜子app...

    电子政务-带镜子的手机或掌上电脑.zip

    电子政务-带镜子的手机或掌上电脑.zip

    ios-日常工具(指南针,量角器,水平仪,测网速,测噪音,挂物矫正,尺子,镜子).zip

    8. **镜子**:虚拟镜子功能则让手机变成一个手持镜子,特别是在没有实物镜子的情况下,如化妆、检查衣着等。 这些工具的实现通常基于iOS设备的硬件传感器,如加速度计、陀螺仪、麦克风等,结合先进的软件算法,为...

    android开发之“小镜子”app源码

    在Android平台下开发一款“小镜子”应用,主要目的是利用手机的摄像头来实现一个简易版的镜子功能。本文将深入解析这款应用的部分源码,并从中提取出关键的技术知识点。 #### 1. 基础配置与初始化 ```java package...

    基于树莓派的智能推荐镜子的研究与设计

    硬件部分,树莓派作为控制中心,通过蓝牙和Wi-Fi与用户的手机等设备建立连接,实现信息的交换。软件部分则包含两个关键模块:一是运行在镜子屏幕上的应用程序,它负责用户界面的交互;二是后台数据处理程序,这里...

    行业资料-建筑装置-带有吹风功能的镜子.zip

    有的甚至集成到智能家居系统中,可以通过手机应用程序或语音助手进行控制。 在建筑装置领域,吹风功能的镜子不仅提升了功能性,还带来了设计上的创新。它的存在让浴室空间更加现代化,符合了现代人追求高效、舒适的...

    参赛作品《基于wifi的智能镜子》-mojing.zip

    3. **数据同步服务**:与用户的手机或电脑同步日程、提醒等个人数据。 4. **语音识别与交互**:集成AI助手,如Google Assistant或Amazon Alexa,用户可以通过语音命令控制镜子。 5. **个性化设置**:用户可以根据...

    行业资料-建筑装置-带镜子及钟表的夜光笔.zip

    有了这个功能,用户可以随时查看时间,无需依赖手机或其他设备,从而更加专注于手头的工作。尤其是在会议、讨论或者现场调度时,快速掌握时间可以帮助保持计划的顺利进行。 这款产品的设计考虑了建筑行业的实际需求...

    中国手机发展史完整版.pdf

    自1987年中国首个移动电话局在广州开通以来,中国手机行业的发展历史几乎可视为中国通信产业崛起和社会变迁的一面镜子。过去的几十年里,从贵重的奢侈品到普及的必需品,手机的变化不仅仅体现在功能的多样化,更记录...

    电信设备-一种带有可移动镜子的梳妆台.zip

    4. **无线通信技术**:Wi-Fi、蓝牙或Zigbee等无线通信技术使得梳妆台能与其他智能设备互动,比如,通过手机控制梳妆台的镜子角度、灯光颜色和亮度。 5. **数据分析与AI**:梳妆台收集的数据,如用户的使用习惯,...

    智能镜子营销方案.docx

    同时,这一过程可以轻松地与手机连接,使顾客可以随时将试穿效果分享给好友,进行互动,获取意见,这不仅为消费者提供了便利,也为商家创造了口碑传播的机会。 在快速消费文化主导的今天,传统的试衣间模式已经不能...

    小镜子提升之NetworkingSystem.7z

    4. **系统配置**:安装完成后,可能需要根据车辆型号和用户需求进行个性化设置,例如连接Wi-Fi、绑定手机、设定安全权限等。 5. **系统更新**:车联网系统需要定期更新,以获取最新的功能和安全补丁。检查并安装...

    参赛作品《基于wifi的智能镜子》-MP3解码带蓝牙芯片方案资料.zip

    蓝牙芯片用于实现智能镜子与智能手机、平板电脑等设备的无线连接。KT6905系列芯片可能包含了蓝牙模块,支持蓝牙4.0或更高版本,提供低功耗的数据传输,允许用户通过蓝牙从移动设备无线传输音乐到智能镜子。蓝牙芯片...

    手机游戏策划案.pptx

    资源关键词:手机游戏策划案、《恶魔反光镜》、益智游戏、解迷、镜子、恶魔、游戏元素、游戏机制、挑战性、市场分析、游戏需求、支持平台、适用机型。 资源详细信息: 《恶魔反光镜》游戏是益智游戏类型,游戏的...

    手机的发展史资料PPT学习教案.pptx

    《手机的发展史——从...从最初的"大哥大"到现在的智能手机,手机不仅是科技发展的见证,更是社会发展的一面镜子。随着5G、AI等新技术的应用,未来的手机将更加智能化,更加个性化,继续引领我们的生活进入新的纪元。

    小镜子之car-2.7z

    【小镜子之car-2.7z】是一个与"car"相关的压缩包文件,其中包含了一个名为"2"的子文件。尽管提供的信息有限,但我们可以根据“car”这一标签来探讨与汽车技术、汽车行业或者与汽车相关的软件开发等相关知识点。 在...

    电子政务-一种采用带镜子的LED充电装置.zip

    充电功能则可能是指装置内嵌了USB接口或其他充电设施,为市民的移动设备如手机、平板电脑等提供应急充电服务,增强了公共设施的实用性。 电子政务在设计这样的设施时,通常会考虑到以下几个方面: 1. 技术整合:...

Global site tag (gtag.js) - Google Analytics