android学习—多媒体2:相机Camera

  次阅读 作者:智能小宝 来源:互联网 2015-09-29 10:04 我要评论(0)

二、多媒体之相机Camera

手机的相机功能是当前大家玩拍照的一个必备功能,本篇的学习,我认为网上的一篇博文的讲解更容易理解一下,这里就转一下博文,自己把自己遇到的的问题给补充进来。引用的博文地址:http://xblia.iteye.com/blog/1167964

目前的智能手机拥有很多强大的功能,例如摄像头、GPS和无线上网等,现在是我们开始充分使用这些功能的时候了,在本篇文章中我们一起学习,如何在谷歌Android编程环境中,以最简单的方式实现谷歌Android摄像头拍照。

在本文示例中,我们需要用到两个文件:布局文件和Activity文件。

【提示】:在Android 1.5(代号cupcake)发布之后,在安全方面有诸多改进,其中之一与摄像头权限控制有关。在此之前,你能够创建无需用户许可就可实现拍照的应用。现在该问题已被修复,如果你想在自己的应用中使用摄像头,需要在AndroidManifest.xml中增加以下代码

没有此授权代码,程序会报:Fail to connect to camera service 错误。

1. 设定摄像头布局

这是开发工作的基础,也就是说我们希望在应用程序中增加多少辅助性元素,如摄像头各种功能按钮等。在本文中我们采取最简方式,除了拍照外,没有多余摄像头功能。下面我们一起看一下本文示例将要用到的布局文件 main.xml 。

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/surface_camera"

android:layout_width="fill_parent"

android:layout_height="10dip"

android:layout_weight="1" >

该布局非常简单,只有一个LinearLayout视图组,在它下面只有一个SurfaceView视图,也就是我们的摄像头屏幕。

【提示】:记住不要在资源文件名称中使用大写字母,如果你把该文件命名为 CameraSurface.xml ,会给你带来不必要的麻烦。

2. 摄像头实现CameraActivity代码

package com.jercy.android.Camera;

import java.io.IOException;

import android.app.Activity;

import android.graphics.PixelFormat;

import android.hardware.Camera;

import android.os.Bundle;

import android.util.Log;

import android.view.SurfaceHolder;

import android.view.SurfaceView;

import android.view.Window;

import android.view.WindowManager;

public class CameraActivity extends Activity implements SurfaceHolder.Callback {

private static final String TAG="CameraActivity";

private Camera mCamera;

private SurfaceView mSurfaceView;

private SurfaceHolder mSurfaceHolder;

private boolean mPreviewRunning = false;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

getWindow().setFormat(PixelFormat.TRANSLUCENT); //屏幕格式为 半透明 。

requestWindowFeature(Window.FEATURE_NO_TITLE); //摄像头预览界面将通过全屏显示,没有 标题(title)

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.main); //设定Activity的布局为前面我们创建的main布局

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...