Share via


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) 以擷取相片。 等候回呼提供實際的影像資料。

<li > 擷取圖片之後,預覽顯示將會停止。 若要拍攝更多相片,請先再撥打電話 #startPreview()

<li > 呼叫 #stopPreview() 以停止更新預覽介面。

<li >< b > Important: < /b > 呼叫 #release() 以釋放相機以供其他應用程式使用。 應用程式應該在 (中 android.app.Activity#onPause() 立即釋放相機,並將其重新放在 #open()android.app.Activity#onResume()) 中。 </老>

若要快速切換至視訊錄製模式,請使用下列步驟:

<ol >< li > 取得並初始化相機並啟動預覽,如上所述。

<li > 呼叫 #unlock() 以允許媒體程式存取相機。

<li > 將相機傳遞至 android.media.MediaRecorder#setCamera(Camera) 。 請參閱 android.media.MediaRecorder 影片錄製的相關資訊。

<li > 完成錄製時,請呼叫 #reconnect() 以重新取得並重新鎖定相機。

<li > 如有需要,請重新開機預覽,並拍攝更多相片或影片。

<li > 呼叫 #stopPreview()#release() 如上所述。 </老>

這個類別不是安全線程,而且適用于從一個事件執行緒使用。 大部分長時間執行的作業 (預覽、焦點、相片擷取等) 非同步發生,並視需要叫用回呼。 呼叫事件執行緒 #open(int) 時,將會叫用回呼。 這個類別的方法絕對不能一次從多個執行緒呼叫。

<p class=「caution」 >< strong > Caution: < /strong > Different Android 支援裝置可能會有不同的硬體規格,例如 mbpixel 評等和自動焦點功能。 為了讓應用程式與更多裝置相容,您不應該假設裝置相機規格。 </P>

<div class=「special reference」 >< h3 > Developer Guides < /h3>

如需使用相機的詳細資訊,請參閱 相機 開發人員指南。

</Div>

已取代這個成員。 我們建議針對新的應用程式使用新的 android.hardware.camera2 API。

android.hardware.Camera JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

Camera(IntPtr, JniHandleOwnership)
已淘汰.

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

欄位

ActionNewPicture
已淘汰.

廣播動作:相機會拍攝新的圖片,並將圖片的專案新增至媒體存放區。

ActionNewVideo
已淘汰.

廣播動作:相機會錄製新的視訊,並將視訊專案新增至媒體存放區。

屬性

Class
已淘汰.

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle
已淘汰.

基礎 Android 實例的控制碼。

(繼承來源 Object)
JniIdentityHashCode
已淘汰.

Camera 類別可用來設定影像擷取設定、開始/停止預覽、貼齊圖片,以及擷取視訊編碼的畫面格。

(繼承來源 Object)
JniPeerMembers
已淘汰.

Camera 類別可用來設定影像擷取設定、開始/停止預覽、貼齊圖片,以及擷取視訊編碼的畫面格。

NumberOfCameras
已淘汰.

傳回此裝置上可用的實體相機數目。

PeerReference
已淘汰.

Camera 類別可用來設定影像擷取設定、開始/停止預覽、貼齊圖片,以及擷取視訊編碼的畫面格。

(繼承來源 Object)
ThresholdClass
已淘汰.

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType
已淘汰.

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

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 < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)
已淘汰.

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)
已淘汰.

讓目前的執行緒等到喚醒為止,通常是 em < notified/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 類別可用來設定影像擷取設定、開始/停止預覽、貼齊圖片,以及擷取視訊編碼的畫面格。

適用於