Camera 类

定义

注意

This class is obsoleted in this android platform

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

[Android.Runtime.Register("android/hardware/Camera", DoNotGenerateAcw=true)]
[System.Obsolete("This class is obsoleted in this android platform")]
public class Camera : Java.Lang.Object
[<Android.Runtime.Register("android/hardware/Camera", DoNotGenerateAcw=true)>]
[<System.Obsolete("This class is obsoleted in this android platform")>]
type Camera = class
    inherit Object
继承
Camera
属性

注解

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。 此类是用于管理实际相机硬件的相机服务的客户端。

若要访问设备相机,必须在 Android 清单中声明 android.Manifest.permission#CAMERA 权限。 此外,请确保包含 <uses-feature> 清单元素,以声明应用程序使用的相机功能。 例如,如果使用相机和自动对焦功能,清单应包括以下内容:

&lt;uses-permission android:name="android.permission.CAMERA" />
            &lt;uses-feature android:name="android.hardware.camera" />
            &lt;uses-feature android:name="android.hardware.camera.autofocus" />

若要使用此类拍照,请使用以下步骤:

<ol><li>从 #open(int)获取 Camera 的实例。

<li>使用 #getParameters()获取现有 (默认) 设置。

<li>如有必要,请修改返回 Camera.Parameters 的对象并调用 #setParameters(Camera.Parameters)

<li>调用 #setDisplayOrientation(int) 以确保预览的正确方向。

<li><b>重要说明</b>:将完全初始化的 SurfaceHolder 传递给 #setPreviewDisplay(SurfaceHolder)。 如果没有表面,相机将无法启动预览。

<li><b>重要提示</b>:调用 #startPreview() 以开始更新预览图面。 必须先启动预览,然后才能拍摄照片。

<li>当你愿意时,打电话 #takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) 来捕获照片。 等待回调提供实际图像数据。

<拍摄>照片后,预览显示将停止。 若要拍摄更多照片,请首先再次打电话 #startPreview()

<li>调用 #stopPreview() 以停止更新预览图面。

<li><b>重要提示:</b> 调用 #release() 以释放相机以供其他应用程序使用。 应用程序应立即在 (中android.app.Activity#onPause()释放相机,并在) 中android.app.Activity#onResume()重新#open()发布相机。 </老>

若要快速切换到视频录制模式,请使用以下步骤:

<ol><li>获取并初始化相机并启动预览,如上所述。

<li>调用 #unlock() 以允许媒体进程访问相机。

<li>将相机传递到 android.media.MediaRecorder#setCamera(Camera)。 查看 android.media.MediaRecorder 有关视频录制的信息。

<完成>录制后,调用 #reconnect() 重新获取并重新锁定相机。

<li>如果需要,请重启预览并拍摄更多照片或视频。

<li>调用 #stopPreview()#release() ,如上所述。 </老>

此类不是线程安全的,旨在从一个事件线程使用。 大多数长时间运行的操作 (预览、焦点、照片捕获等) 异步执行,并根据需要调用回调。 将在从中调用的事件线程 #open(int) 上调用回调。 此类的方法绝不能一次从多个线程调用。

<p class=“caution”><strong>Warning:</strong> 不同的 Android 设备可能具有不同的硬件规格,例如百万像素评级和自动对焦功能。 为了使应用程序与更多设备兼容,不应对设备相机规格做出假设。</P>

<div class=“special reference”><h3>开发人员指南</h3>

有关使用相机的详细信息,请阅读 相机 开发人员指南。

</Div>

此成员已弃用。 建议对新应用程序使用新 android.hardware.camera2 API。

android.hardware.CameraJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

构造函数

Camera(IntPtr, JniHandleOwnership)
已过时.

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

字段

ActionNewPicture
已过时.

广播操作:相机拍摄了一张新图片,并且该图片的条目已添加到媒体存储区。

ActionNewVideo
已过时.

广播操作:相机录制了新视频,并且视频的条目已添加到媒体存储区。

属性

Class
已过时.

返回此 Object的运行时类。

(继承自 Object)
Handle
已过时.

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
JniPeerMembers
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

NumberOfCameras
已过时.

返回此设备上可用的物理相机数。

PeerReference
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
ThresholdClass
已过时.

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

ThresholdType
已过时.

此 API 支持 Mono for Android 基础结构,不应直接从代码使用。

方法

AddCallbackBuffer(Byte[])
已过时.

将预先分配的缓冲区添加到预览回调缓冲区队列。

AutoFocus(Camera+IAutoFocusCallback)
已过时.

启动相机自动对焦,并注册一个回调函数,以在相机聚焦时运行。

CancelAutoFocus()
已过时.

取消正在进行的任何自动对焦功能。

Clone()
已过时.

创建并返回此对象的副本。

(继承自 Object)
Dispose()
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
Dispose(Boolean)
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
EnableShutterSound(Boolean)
已过时.

在拍照时启用或禁用默认快门声音。

Equals(Object)
已过时.

指示其他某个对象是否“等于”此对象。

(继承自 Object)
GetCameraInfo(Int32, Camera+CameraInfo)
已过时.

返回有关特定相机的信息。

GetHashCode()
已过时.

返回对象的哈希代码值。

(继承自 Object)
GetParameters()
已过时.

返回此相机服务的当前设置。

JavaFinalize()
已过时.

当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Lock()
已过时.

重新锁定相机以防止其他进程访问它。

Notify()
已过时.

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()
已过时.

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Open()
已过时.

创建新的 Camera 对象以访问设备上的第一个后向相机。

Open(Int32)
已过时.

创建新的 Camera 对象以访问特定硬件相机。

Reconnect()
已过时.

在另一个进程使用相机服务后重新连接到它。

Release()
已过时.

断开连接并释放 Camera 对象资源。

SetAutoFocusMoveCallback(Camera+IAutoFocusMoveCallback)
已过时.

设置相机自动对焦移动回调。

SetDisplayOrientation(Int32)
已过时.

以度为单位设置预览显示器的顺时针旋转。

SetErrorCallback(Camera+IErrorCallback)
已过时.

注册发生错误时要调用的回调。

SetFaceDetectionListener(Camera+IFaceDetectionListener)
已过时.

注册侦听器,以便收到有关在预览帧中检测到的人脸的通知。

SetHandle(IntPtr, JniHandleOwnership)
已过时.

设置 Handle 属性。

(继承自 Object)
SetOneShotPreviewCallback(Camera+IPreviewCallback)
已过时.

安装要为下一个预览帧调用的回调,并在屏幕上显示它。

SetParameters(Camera+Parameters)
已过时.

更改此相机服务的设置。

SetPreviewCallback(Camera+IPreviewCallback)
已过时.

安装要为每个预览帧调用的回调,并在屏幕上显示它们。

SetPreviewCallbackWithBuffer(Camera+IPreviewCallback)
已过时.

除了在屏幕上显示缓冲区外,还使用 随附 #addCallbackBuffer(byte[])的缓冲区为每个预览帧安装要调用的回调。

SetPreviewDisplay(ISurfaceHolder)
已过时.

Surface设置要用于实时预览的 。

SetPreviewTexture(SurfaceTexture)
已过时.

SurfaceTexture设置要用于实时预览的 。

SetZoomChangeListener(Camera+IOnZoomChangeListener)
已过时.

注册一个侦听器,以便当相机驱动程序在平滑缩放期间更新缩放值时收到通知。

StartFaceDetection()
已过时.

启动人脸检测。

StartPreview()
已过时.

开始捕获预览帧并将其绘制到屏幕。

StartSmoothZoom(Int32)
已过时.

平滑地缩放到请求的值。

StopFaceDetection()
已过时.

停止人脸检测。

StopPreview()
已过时.

停止捕获预览帧并将其绘制到图面,并重置相机以供将来调用 #startPreview()

StopSmoothZoom()
已过时.

停止平滑缩放。

TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback)
已过时.

等效于

TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback, Camera+IPictureCallback)
已过时.

等效于

ToArray<T>()
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
ToString()
已过时.

返回对象的字符串表示形式。

(继承自 Object)
Unlock()
已过时.

解锁相机以允许其他进程访问它。

UnregisterFromRuntime()
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
Wait()
已过时.

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<>

(继承自 Object)
Wait(Int64)
已过时.

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)
Wait(Int64, Int32)
已过时.

导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<>

(继承自 Object)

事件

FaceDetection
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

ZoomChange
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

显式接口实现

IJavaPeerable.Disposed()
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
IJavaPeerable.Finalized()
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
IJavaPeerable.JniManagedPeerState
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)
已过时.

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

GetJniTypeName(IJavaPeerable)
已过时.

Camera 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。

适用于