Camera 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
This class is obsoleted in this android platform
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。
[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>從 取得 Camera #open(int)的實例。
<li>取得現有(預設)設定。#getParameters()
<如>有必要,修改回傳物件 Camera.Parameters 並呼叫 #setParameters(Camera.Parameters)。
<
>請致電#setDisplayOrientation(int)以確保預覽的正確方向。
<li><b>重要</b>:將 a 完全初始 SurfaceHolder 化為 #setPreviewDisplay(SurfaceHolder)。 沒有表面,攝影機將無法啟動預覽。
<li><b>重要</b>:請致電 #startPreview() 開始更新預覽表面。 預覽必須先開始,才能拍照。
<李>,想拍照的時候打電話 #takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback) 。 等回調提供實際的影像資料。
<李>拍照後,預覽顯示會停止。 想拍更多照片,請先再打電話 #startPreview() 。
<李>,打電話 #stopPreview() 停止更新預覽表面。
<li><b>重要:</b> 呼叫 #release() 釋放相機供其他應用程式使用。 應用程式應該會立即 android.app.Activity#onPause() 釋放攝影機(並重新放#open() 回 android.app.Activity#onResume())。
</ol>
要快速切換到錄影模式,請使用以下步驟:
< > <ol li>取得並初始化相機,並如上所述開始預覽。
<
>打電話#unlock()讓媒體進程進入攝影機。
<李>,把相機交給 android.media.MediaRecorder#setCamera(Camera)。 請參閱 android.media.MediaRecorder 有關錄影的資訊。
<李>錄影結束後,打電話 #reconnect() 重新取得並鎖定攝影機。
<如果>需要,可以重新啟動預覽並拍攝更多照片或影片。
<如上所述,李>考爾#stopPreview()#release()。
</ol>
此類別並非執行緒安全,設計用於單一事件執行緒。 大多數長期執行的操作(預覽、對焦、拍照等)都是非同步進行,並視需要呼叫回調。 回調會在呼叫執行緒的事件執行緒 #open(int) 中被調用。 此類別的方法絕不能同時從多個執行緒呼叫。
<強烈>注意:</strong> 不同的 Android 裝置可能有不同的硬體規格,例如百萬像素和自動對焦功能。 為了讓你的應用程式能與更多裝置相容,你不應該對裝置攝影機的規格做出假設。
<div class=“特殊參考”><h3>開發者指南</h3>
想了解更多相機使用資訊,請閱讀 相機 開發指南。
</div>
此會員已被棄用。 我們建議新應用程式使用新的 android.hardware.camera2 API。
Java 文件 android.hardware.Camera。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| Camera(IntPtr, JniHandleOwnership) |
已淘汰.
用於建立 JNI 物件受管理表示的建構器;由執行時呼叫。 |
欄位
| 名稱 | Description |
|---|---|
| ActionNewPicture |
已淘汰.
廣播動作:相機拍攝新照片,該照片的輸入已加入媒體商店。 |
| ActionNewVideo |
已淘汰.
轉播動作:攝影機錄製新影片,並將影片條目加入媒體商店。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
已淘汰.
回傳此 |
| Handle |
已淘汰.
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
已淘汰.
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| JniPeerMembers |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 |
| NumberOfCameras |
已淘汰.
回傳此裝置上可用的實體攝影機數量。 |
| PeerReference |
已淘汰.
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| ThresholdClass |
已淘汰.
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
| ThresholdType |
已淘汰.
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 |
方法
| 名稱 | Description |
|---|---|
| AddCallbackBuffer(Byte[]) |
已淘汰.
在預覽回調緩衝區佇列中加入預先分配的緩衝區。 |
| AutoFocus(Camera+IAutoFocusCallback) |
已淘汰.
啟動相機自動對焦,並在相機對焦時註冊回調功能執行。 |
| CancelAutoFocus() |
已淘汰.
取消所有正在進行中的自動對焦功能。 |
| Clone() |
已淘汰.
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| Dispose() |
已淘汰.
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
已淘汰.
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| EnableShutterSound(Boolean) |
已淘汰.
拍照時請開啟或關閉預設快門聲。 |
| Equals(Object) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| Equals(Object) |
已淘汰.
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetCameraInfo(Int32, Camera+CameraInfo) |
已淘汰.
回傳特定攝影機的資訊。 |
| GetHashCode() |
已淘汰.
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetParameters() |
已淘汰.
會回傳此相機服務的當前設定。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Lock() |
已淘汰.
重新鎖定攝影機,防止其他程序存取。 |
| Notify() |
已淘汰.
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
已淘汰.
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| Open() |
已淘汰.
建立一個新的相機物件,以存取裝置上第一個背面相機。 |
| Open(Int32) |
已淘汰.
建立一個新的相機物件以存取特定的硬體相機。 |
| Reconnect() |
已淘汰.
在另一個程序使用攝影機服務後,重新連接。 |
| Release() |
已淘汰.
斷開並釋放相機物件資源。 |
| SetAutoFocusMoveCallback(Camera+IAutoFocusMoveCallback) |
已淘汰.
設定相機自動對焦移動回撥。 |
| SetDisplayOrientation(Int32) |
已淘汰.
將預覽畫面的順時針旋轉設定為度數。 |
| SetErrorCallback(Camera+IErrorCallback) |
已淘汰.
註冊回調,當發生錯誤時可呼叫。 |
| SetFaceDetectionListener(Camera+IFaceDetectionListener) |
已淘汰.
註冊監聽器以通知預覽幀中偵測到的人臉。 |
| SetHandle(IntPtr, JniHandleOwnership) |
已淘汰.
設定 Handle 屬性。 (繼承來源 Object) |
| SetOneShotPreviewCallback(Camera+IPreviewCallback) |
已淘汰.
除了在螢幕上顯示回調外,還安裝一個回調來用於下一幀預覽。 |
| SetParameters(Camera+Parameters) |
已淘汰.
更改此相機服務的設定。 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| 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, Camera+IPictureCallback) |
已淘汰.
相當於 |
| TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback) |
已淘汰.
拍了張照片。 擷取後預覽顯示停止;在再拍一張照片前先打電話 StartPreview() 。 |
| ToArray<T>() |
已淘汰.
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToString() |
已淘汰.
回傳物件的字串表示。 (繼承來源 Object) |
| Unlock() |
已淘汰.
解鎖攝影機,讓其他程序進入。 |
| UnregisterFromRuntime() |
已淘汰.
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
已淘汰.
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
已淘汰.
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
已淘汰.
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
事件
| 名稱 | Description |
|---|---|
| FaceDetection |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 |
| ZoomChange |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 (繼承來源 JavaObject) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
已淘汰.
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
已淘汰.
試著強制 |
| JavaCast<TResult>(IJavaObject) |
已淘汰.
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
已淘汰.
相機類別用於設定影像擷取設定、開始/停止預覽、拍攝照片,以及擷取影格以編碼影片。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
已淘汰.
試著強制 |