Camera 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。 此类是用于管理实际相机硬件的相机服务的客户端。
若要访问设备相机,必须在 Android 清单中声明 android.Manifest.permission#CAMERA
权限。 此外,请确保包含 <uses-feature> 清单元素,以声明应用程序使用的相机功能。 例如,如果使用相机和自动对焦功能,清单应包括以下内容:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<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.Camera
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
Camera(IntPtr, JniHandleOwnership) |
已过时.
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
ActionNewPicture |
已过时.
广播操作:相机拍摄了一张新图片,并且该图片的条目已添加到媒体存储区。 |
ActionNewVideo |
已过时.
广播操作:相机录制了新视频,并且视频的条目已添加到媒体存储区。 |
属性
Class |
已过时.
返回此 |
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) |
已过时.
除了在屏幕上显示缓冲区外,还使用 随附 |
SetPreviewDisplay(ISurfaceHolder) |
已过时.
|
SetPreviewTexture(SurfaceTexture) |
已过时.
|
SetZoomChangeListener(Camera+IOnZoomChangeListener) |
已过时.
注册一个侦听器,以便当相机驱动程序在平滑缩放期间更新缩放值时收到通知。 |
StartFaceDetection() |
已过时.
启动人脸检测。 |
StartPreview() |
已过时.
开始捕获预览帧并将其绘制到屏幕。 |
StartSmoothZoom(Int32) |
已过时.
平滑地缩放到请求的值。 |
StopFaceDetection() |
已过时.
停止人脸检测。 |
StopPreview() |
已过时.
停止捕获预览帧并将其绘制到图面,并重置相机以供将来调用 |
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 类用于设置图像捕获设置、启动/停止预览、贴靠图片以及检索视频编码帧。 |