public class
Camera.Parameters
extends Object
java.lang.Object | |
↳ | android.hardware.Camera.Parameters |
Class Overview
類概述
相機的服務設置。
使相機參數生效,應用程序必須調用setparameters(相機參數。)
。例如,在setwhitebalance(字符串)
被稱為,白平衡不實際上改變了之前setparameters(相機參數。)
被稱為參數變化的對象。
不同的設備可能有不同的相機功能,如圖片的大小或閃光模式。應用程序應該查詢相機能力之前設置參數。例如,應用應該打電話getsupportedcoloreffects()
在呼叫setcoloreffect(字符串)
。如果相機不支持顏色的影響,getsupportedcoloreffects()
將返回null。
概要
公共方法 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | flatten()
創建一套這個對象的所有參數的單個字符串參數。
|
||||||||||
String | get(String key)
返回一個字符串參數的值。
|
||||||||||
String | getantibanding()
獲取當前antibanding設置。
|
||||||||||
boolean | getautoexposurelock()
獲取自動曝光鎖定狀態。
|
||||||||||
boolean | getautowhitebalancelock()
獲取自動白平衡鎖的狀態。
|
||||||||||
String | getcoloreffect()
獲取當前的顏色設置效果。
|
||||||||||
int | getexposurecompensation()
獲取當前曝光補償指數。
|
||||||||||
float | getexposurecompensationstep()
獲取曝光補償的步驟。
|
||||||||||
String | getflashmode()
獲取當前的閃光模式設定。
|
||||||||||
float | getfocallength()
變焦距(毫米)的相機。
|
||||||||||
List<Camera.Area> | getfocusareas()
獲取當前的重點領域。 |
||||||||||
void | getfocusdistances(浮動[ ]輸出)
從攝像機到一個對象似乎是焦點得距離。 |
||||||||||
String | getfocusmode()
獲取當前的焦點模式設置。
|
||||||||||
float | gethorizontalviewangle()
獲取水平角度來看。
|
||||||||||
int | 返回一個值(字符串鍵)
返回一個整數參數的值。
|
||||||||||
int | getjpegquality()
收益質量的JPEG圖像設置。
|
||||||||||
int | getjpegthumbnailquality()
返回質量的JPEG圖片EXIF縮略圖設置。
|
||||||||||
Camera.Size | getjpegthumbnailsize()
返回EXIF縮略圖的JPEG圖片的尺寸。
|
||||||||||
int | getmaxexposurecompensation()
得到的最大曝光補償指數。
|
||||||||||
int | getmaxnumdetectedfaces()
獲取人臉支持的最大數量。
|
||||||||||
int | getmaxnumfocusareas()
得到最多支持的重點領域。
|
||||||||||
int | getmaxnummeteringareas()
獲取最大數量的計量領域的支持。
|
||||||||||
int | getmaxzoom()
得到的縮放所允許的最大值為快照。
|
||||||||||
List<Camera.Area> | getmeteringareas()
獲取當前計量范圍。 |
||||||||||
int | getminexposurecompensation()
獲得最小的曝光補償指數。
|
||||||||||
int | getpictureformat()
返回的照片圖像格式。
|
||||||||||
Camera.Size | getpicturesize()
返回設置圖片尺寸。
|
||||||||||
Camera.Size | getpreferredpreviewsizeforvideo()
返回優先推薦或預覽大小(寬度和高度)像素的視頻。
|
||||||||||
int | getpreviewformat()
返回預覽幀的圖像格式有
camera.previewcallback 。
|
||||||||||
void | getpreviewfpsrange(int [ ]范圍)
返回當前預覽的幀的最大和最小。
|
||||||||||
int | getpreviewframerate()
該方法被在API級別9。取代 getpreviewfpsrange(int [ ])
|
||||||||||
Camera.Size | getpreviewsize()
返回的尺寸設置預覽圖片。
|
||||||||||
String | getscenemode()
獲取當前情景模式設置。
|
||||||||||
List<String> | getsupportedantibanding()
獲取受支持的antibanding值。
|
||||||||||
List<String> | getsupportedcoloreffects()
獲取受支持的顏色的影響。
|
||||||||||
List<String> | getsupportedflashmodes()
獲取受支持的閃光模式。
|
||||||||||
List<String> | getsupportedfocusmodes()
獲取受支持的對焦模式。
|
||||||||||
List<Camera.Size> | getsupportedjpegthumbnailsizes()
獲取受支持的JPEG縮略圖的大小。
|
||||||||||
List<Integer> | getsupportedpictureformats()
獲取受支持的圖片格式。
|
||||||||||
List<Camera.Size> | getsupportedpicturesizes()
獲取受支持的圖片大小。
|
||||||||||
List<Integer> | getsupportedpreviewformats()
獲取受支持的預覽格式。
|
||||||||||
List<int[]> | getsupportedpreviewfpsrange()
獲取受支持的預覽幀(幀每秒)的范圍。
|
||||||||||
List<Integer> | getsupportedpreviewframerates()
該方法被在API級別9。取代 getsupportedpreviewfpsrange()
|
||||||||||
List<Camera.Size> | getsupportedpreviewsizes()
獲取受支持的預覽圖片。
|
||||||||||
List<String> | getsupportedscenemodes()
獲取受支持的場景模式。
|
||||||||||
List<Camera.Size> | getsupportedvideosizes()
獲取受支持的視頻幀的大小,可以通過使用 mediarecorder。 |
||||||||||
List<String> | getsupportedwhitebalance()
獲取受支持的白平衡。
|
||||||||||
float | getverticalviewangle()
獲取垂直視角度。
|
||||||||||
boolean | getvideostabilization()
得到的視頻穩定化的現狀。
|
||||||||||
String | getwhitebalance()
獲取當前白平衡設置。
|
||||||||||
int | getzoom()
獲取當前的縮放值。
|
||||||||||
List<Integer> | getzoomratios()
獲取所有的變焦縮放比例值。
|
||||||||||
boolean | isautoexposurelocksupported()
如果自動曝光鎖定支持,返回true。
|
||||||||||
boolean | isautowhitebalancelocksupported()
如果自動白平衡鎖定支持返回true。
|
||||||||||
boolean | issmoothzoomsupported()
如果順利變焦支持返回true。
|
||||||||||
boolean | isvideosnapshotsupported()
如果視頻快照支持返回true。 |
||||||||||
boolean | isvideostabilizationsupported()
如果視頻穩定的支持,返回true。
|
||||||||||
boolean | iszoomsupported()
如果變焦支持返回true。
|
||||||||||
void | 拆下(字符串鍵) | ||||||||||
void | removegpsdata()
消除GPS緯度,經度,高度,和從參數時間戳。
|
||||||||||
void | 配置(字符串關鍵的,字符串值)
設置一個字符串參數。
|
||||||||||
void | 配置(字符串關鍵,int值)
設置一個整數參數。
|
||||||||||
void | setantibanding(字符串antibanding)
設置antibanding。
|
||||||||||
void | setautoexposurelock(布爾切換)
設置自動曝光鎖定狀態。 |
||||||||||
void | setautowhitebalancelock(布爾切換)
設置自動白平衡鎖定狀態。 |
||||||||||
void | setcoloreffect(字符串值)
設置當前的顏色設置效果。
|
||||||||||
void | setexposurecompensation(int值)
設置曝光補償指數。
|
||||||||||
void | setflashmode(字符串值)
設置閃光模式。
|
||||||||||
void | setfocusareas(列表<相機。面積>重點領域)
設置焦點區域。
|
||||||||||
void | setfocusmode(字符串值)
設置焦點模式。
|
||||||||||
void | setgpsaltitude(雙高度)
集GPS高程。
|
||||||||||
void | setgpslatitude(雙緯度)
集GPS經緯度坐標。
|
||||||||||
void | setgpslongitude(雙經度)
集GPS經緯度坐標。
|
||||||||||
void | setgpsprocessingmethod(字符串processing_method)
集GPS處理方法。
|
||||||||||
void | setgpstimestamp(長時間)
集GPS時間戳。
|
||||||||||
void | setjpegquality(int質量)
捕獲的圖像集的JPEG質量。
|
||||||||||
void | setjpegthumbnailquality(int質量)
套在JPEG圖片EXIF縮略圖質量。
|
||||||||||
void | setjpegthumbnailsize(int,int寬度,高度)
集的EXIF縮略圖的JPEG圖片的尺寸。 |
||||||||||
void | setmeteringareas(列表<相機。面積> meteringareas)
集計量范圍。
|
||||||||||
void | setpictureformat(int pixel_format)
設置圖片的圖像格式。
|
||||||||||
void | setpicturesize(int,int寬度,高度)
設置圖片的尺寸。 |
||||||||||
void | setpreviewformat(int pixel_format)
設置預覽照片的圖像格式。
|
||||||||||
void | setpreviewfpsrange(int,int max)
最小和最大幀設置預覽。
|
||||||||||
void | setpreviewframerate(int FPS)
該方法被在API級別9。取代 setpreviewfpsrange(int,int)
|
||||||||||
void | setpreviewsize(int,int寬度,高度)
設置預覽照片的尺寸。
|
||||||||||
void | setrecordinghint(布爾提示)
集記錄模式的提示。
|
||||||||||
void | setrotation(int旋轉)
集度相對於相機的方向順時針旋轉角度。
|
||||||||||
void | setscenemode(字符串值)
設置場景模式。
|
||||||||||
void | setvideostabilization(布爾切換)
啟用和禁用視頻穩定。 |
||||||||||
void | setwhitebalance(字符串值)
設置白平衡。
|
||||||||||
void | setzoom(int值)
設置縮放值。
|
||||||||||
void | unflatten(字符串扁平)
以一個扁平的字符串參數,增加了每一個這個參數對象。
|
[擴展]
繼承的方法
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
常數
public static final String
flash_mode_auto
閃光燈會自動在需要的時候被解雇。閃光會被解雇預覽時,自動對焦,或快照取決於驅動。
public static final int
focus_distance_far_index
數組中的遠距使用getfocusdistances(浮[ ])
。
public static final int
focus_distance_near_index
數組中的近距離使用的焦點getfocusdistances(浮[ ])
。
public static final int
focus_distance_optimal_index
使用的最佳焦點距離的數組索引getfocusdistances(浮[ ])
。
public static final String FOCUS_MODE_AUTO
自動對焦模式。程序應該調用自動對焦(autofocuscallback)
在這個模式下啟動的重點。
public static final String FOCUS_MODE_CONTINUOUS_PICTURE
用於拍照的連續自動對焦模式。相機不斷致力。焦點改變的速度更是比攻擊focus_mode_continuous_video
。自動對焦開始時的參數設置。
應用程序可以調用自動對焦(autofocuscallback)
在這種模式。如果對焦是在中東的掃描,重點回調函數將返回時完成。如果對焦是不掃描,重點回調將立即返回一個布爾值,指示是否焦點是否清晰。應用程序可以決定是否要立即采取圖片或改變聚焦模式自動對焦,並運行一個完整的周期。重點位置自動對焦鎖定后的電話。如果應用程序需要恢復持續的注意力,cancelautofocus必須調用。重啟預覽將不會恢復連續。對停止連續集中,應用程序應該改變焦點模式其他模式。
public static final String FOCUS_MODE_CONTINUOUS_VIDEO
用於視頻記錄的連續自動對焦模式。相機不斷致力。這是視頻記錄最好的選擇,因為焦點變化。應用程序還可以呼叫TakePicture(camera.shuttercallback,camera.picturecallback,相機。picturecallback)
在這種模式下,但對象可能不會成為焦點。自動對焦啟動時的參數集。
由於API級別14,應用程序可以調用自動對焦(autofocuscallback)
在這種模式下。重點回調將立即返回一個布爾值,指示是否重點是尖銳或不。焦點位置后自動電話鎖。如果程序要恢復持續的注意力,cancelautofocus 必須調用。重啟預覽將不會恢復連續自動對焦。停止持續的注意力,應用程序應該改變對焦模式,其他模式。
public static final String FOCUS_MODE_EDOF
擴展景深(EDOF)。重點是數字化和不斷。應用程序不應調用自動對焦(autofocuscallback)
在這種模式下。
public static final String FOCUS_MODE_FIXED
的焦點是固定的。攝像機一直在這種模式下,如果不是重點調。如果相機自動對焦,這種方式可以解決焦點,這通常是在超焦距。應用程序應該不叫自動對焦(autofocuscallback)
在這種模式下。
public static final String FOCUS_MODE_INFINITY
重點是無窮的。應用程序不應調用自動對焦(autofocuscallback)
在這種模式下。
public static final String FOCUS_MODE_MACRO
宏觀(特寫)對焦模式。程序應該調用自動對焦(autofocuscallback)
在這模式啟動的重點。
public static final String scene_mode_hdr
用高動態范圍成像技術的現場捕獲。該相機將有一個擴展的動態范圍的圖像相比,定期捕獲。捕獲這樣的圖像可能會比普通的捕獲時間。
公共方法
public boolean getAutoExposureLock ()
獲取自動曝光鎖定狀態。應用程序應該檢查isautoexposurelocksupported()
在使用這個方法。看到setautoexposurelock(布爾)
關於鎖的細節。
public boolean getAutoWhiteBalanceLock ()
獲取自動白平衡鎖的狀態。應用程序應該檢查isautowhitebalancelocksupported()
在使用本方法。看到setautowhitebalancelock(布爾)
關於鎖細節。
public int getExposureCompensation ()
獲取當前曝光補償指數。
退貨
- 目前的曝光補償指數。的范圍
getminexposurecompensation()
對getmaxexposurecompensation()
。0意味着曝光不調整。
public List<Camera.Area> getFocusAreas ()
獲取當前的重點領域。攝像頭驅動程序使用區來決定焦點。
在使用這個API或setfocusareas(名單)
應用程序應該調用,getmaxnumfocusareas()
了解最大數量的重點領域第一。如果該值為0,重點區域是不支持。
每個重點領域是一個具有特定重量的矩形。方向相對於傳感器的方向,即,所看到的方向傳感器。受到旋轉或鏡像不setdisplayorientation(int)
。坐標的矩形范圍從1000到1000。(1000,1000)是左上角的點。(1000,1000)下的權利。寬度和高度集中地區不能0或負。
的重量范圍從1到1000。重量應該解釋為每一個像素的權重在該地區的所有像素具有指定的重量。這意味着一個小面積相同的重量為較大的地區會對聚焦比地區影響較小。重點領域可以部分重疊,司機會在重疊區域中添加權重。
一個特殊的情況空
重點地區名單意味着司機是自由選擇的重點目標,它希望。例如,司機可以使用更多的信號選擇重點領域和改變他們動態。應用程序可以將焦點設置地區列表空
如果他們想讓司機完全控制聚焦。
重點領域是相對於當前場視圖getzoom()
)。無論縮放級別是什么,(1000,1000)頂部的當前可見的相機代表。重點地區不能設置在目前來看,即使當使用變焦。
重點地區僅影響當前的焦點模式如果focus_mode_auto
,focus_mode_macro
,focus_mode_continuous_video
,或focus_mode_continuous_picture
。
public void getFocusDistances (float[] output)
從攝像機到一個對象似乎是焦點得距離。該對象是在最佳的聚焦距離最大。場的深度遠焦距離減去接近焦點距離。
焦距可以改變后調用自動對焦(autofocuscallback)
,cancelautofocus()
,或startpreview()
。應用程序可以調用getparameters()
該方法可隨時獲得最新的焦點距離。如果聚焦模式焦距可以改變 focus_mode_continuous_video,不時。
這種方法的目的是估計攝像機和主體之間的距離。在自動對焦,主體的距離可在遠近焦點距離。然而,其精度取決於相機硬件,自聚焦算法,重點地區,和場景。誤差可以很大,它只能作為一個。
遠距> =最佳焦點距離> =近焦點的距離。如果焦點距離為無窮大,價值float.positive_infinity
。
public String getFocusMode ()
獲取當前的焦點模式設置。
退貨
- 目前的焦點模式。此方法將總是返回一個非空的價值。程序應該調用
自動對焦(autofocuscallback)
如果焦點模式focus_mode_auto或focus_mode_macro開始重點。
public int getMaxExposureCompensation ()
得到的最大曝光補償指數。
退貨
- 最大曝光補償指數(>=0)。如果這方法
getminexposurecompensation()
返回0,曝光補償是不。
public int getMaxNumDetectedFaces ()
獲取人臉支持的最大數量。這是列表的返回的最大長度camera.facedetectionlistener
。如果返回值是0檢測指定的,臉型不。
public int getMaxNumMeteringAreas ()
獲取最大數量的計量領域的支持。這是列表的最大長度setmeteringareas(名單)
和getmeteringareas()
。
public int getMaxZoom ()
得到的縮放所允許的最大值為快照。這是最大的值,應用程序可以設置為setzoom(int)
應用程序。iszoomsupported()
在使用本方法。這個值可能會在不同的預覽大小的變化。應用應調用此后再設置預覽大小。
public List<Camera.Area> getMeteringAreas ()
獲取當前計量范圍。攝像頭驅動程序使用這些地區決定曝光。
在使用這個API或setmeteringareas(名單)
應用程序應該調用,getmaxnummeteringareas()
要知道計量領域第一的最大數量。如果該值為0,計量面積不支持。
每個測光區域是一個矩形指定重量。該方向相對於傳感器的方向,即,傳感器看到什么。方向不受旋轉或鏡像setdisplayorientation(int)
。坐標的矩形范圍從1000到1000。(1000,1000)是左上點。(1000,1000)是右下點。寬度和高度計量范圍不能0或負。
的重量范圍從1到1000,並表示每個像素在該地區的一個重。這意味着一個有相同重量的一個較小的區域大計量的地區將在計量結果有更多的影響。計量領域可以部分地重疊和司機將重疊區域中添加量。
一個特殊的情況空
計量區列表意味着司機自由表選擇。例如,驅動程序可以使用更多的信號選擇計量領域,動態地改變他們。應用程序可以設置計量面積列表空
如果他們想駕駛員完全控制計量。
測光區域相對於查看當前場getzoom()
)。無論縮放級別是什么,(1000,1000)頂部的當前可見的相機代表。該計量面積不能設置在目前來看,即使使用。
無論是計量領域是什么,最終曝光補償的setexposurecompensation(int)
。
public int getMinExposureCompensation ()
獲得最小的曝光補償指數。
退貨
- 最小的曝光補償指數(<=0)。如果這方法
getmaxexposurecompensation()
返回0,曝光補償是不。
public Camera.Size getPreferredPreviewSizeForVideo ()
返回優先推薦或預覽大小(寬度和高度)像素的視頻。攝像機的應用程序應該設置預覽尺寸值不大於優先預覽大小。換句話說,對預覽大小寬度和高度產品不應大於首選預覽大小。此外,我們建議選擇一個預覽大小具有相同的縱橫比為視頻的分辨率要記錄。
public void getPreviewFpsRange (int[] range)
返回當前預覽的幀的最大和最小。價值觀是返回的元素之一getsupportedpreviewfpsrange()
。
public String getSceneMode ()
獲取當前情景模式設置。
參見
scene_mode_auto
scene_mode_action
scene_mode_portrait
scene_mode_landscape
scene_mode_night
scene_mode_night_portrait
scene_mode_theatre
scene_mode_beach
scene_mode_snow
scene_mode_sunset
scene_mode_steadyphoto
scene_mode_fireworks
scene_mode_sports
scene_mode_party
scene_mode_candlelight
scene_mode_barcode
public List<int[]> getSupportedPreviewFpsRange ()
獲取受支持的預覽幀(幀每秒)的范圍。每個范圍包含一個最小和最大FPS FPS。如果最低fps等於最大FPS,固定幀速率的相機輸出幀。如果不是,架在汽車車架相機輸出。實際幀速率的最大值和最小值之間的波動。價值觀是乘以1000為整數。例如,如果框架速率是每秒26.623幀,該值為26623。
public List<Camera.Size> getSupportedVideoSizes ()
獲取受支持的視頻幀的大小,可以通過使用 mediarecorder。
如果返回的列表是否為空,返回列表將包含在至少一個尺寸和一個在返回列表的大小必須通過mediarecorder。用於攝像機應用setvideosize()如果攝像機作為視頻源。在這種情況下,預覽的大小可以在視頻記錄是不同的從記錄的視頻分辨率。
public boolean getVideoStabilization ()
得到的視頻穩定化的現狀。看到setvideostabilization(布爾)
對於視頻穩像的細節。
public int getZoom ()
獲取當前的縮放值。這也可以在平滑變焦是在進步。應用程序應該檢查iszoomsupported()
在使用這種方法。
退貨
- 當前的縮放值。范圍是0到
getmaxzoom()
。0意味着相機不放大。
public List<Integer> getZoomRatios ()
獲取所有的變焦縮放比例值。應用程序應該檢查iszoomsupported()
在使用這個方法。
退貨
- 1 / 100的增量縮放比例。例如:一個變焦3.2是返回320。元素的數目
getmaxzoom()
1。列表是從小到大的排序。第一個元素是100的。最后一個元素的最大值縮放縮放比。
public boolean isAutoExposureLockSupported ()
如果自動曝光鎖定支持,返回true。應用應調用此之前試圖鎖定自動曝光。看到setautoexposurelock(布爾)
關於鎖的細節。
public boolean isAutoWhiteBalanceLockSupported ()
如果自動白平衡鎖定支持返回true。應用應調用此之前試圖鎖定自動白平衡。看到setautowhitebalancelock(布爾)
關於鎖的細節。
public boolean isVideoSnapshotSupported ()
如果視頻快照支持返回true。那是,應用程序可以調用TakePicture(camera.shuttercallback,camera.picturecallback,camera.picturecallback,相機。picturecallback)
在記錄期間。應用程序不需要打電話startpreview()
拍照后。預覽仍將活躍。除此之外,拍照時記錄是以圖片通常相同。所有設置和方法TakePicture同相關工作。前:getpicturesize()
,getsupportedpicturesizes()
,setjpegquality(int)
,setrotation(int)
,等圖片會有EXIF標題。flash_mode_auto
和flash_mode_on
同時還在工作,但視頻記錄閃光。
應用程序可以設置快門回調為避免快門聲。它還建議將原圖像和后視圖回調無效避免預覽顯示中斷。
對記錄的視頻領域的可能是不同的拍攝的照片。一個視頻快照的最大大小可能小於定期仍然捕捉。如果當前的圖片尺寸設定為比可以通過視頻快照支持的圖片,將在最大負載大小而被捕。
public boolean isVideoStabilizationSupported ()
如果視頻穩定的支持,返回true。看到setvideostabilization(布爾)
對於視頻穩像的細節。
public void setAutoExposureLock (boolean toggle)
設置自動曝光鎖定狀態。應用程序應該檢查isautoexposurelocksupported()
在使用這個方法。
如果設置為TRUE,相機的自動曝光程序將立即暫停直至鎖設置為false。曝光補償設置變化仍然生效而自動曝光鎖定。
如果自動曝光已被鎖定,設置為TRUE,又有沒有影響(司機不會重新計算的曝光值)。
停止預覽stoppreview()
,或觸發仍然圖像捕捉TakePicture(camera.shuttercallback,camera.picturecallback,相機。picturecallback)
,不會改變鎖。
曝光補償,自動曝光鎖定,和自動白平衡鎖可以用來捕捉圖像的曝光被爆,為。
自動曝光鎖定狀態,包括狀態,不會后保持相機release()
被稱為。自動曝光鎖定后open()
但在第一次調用startpreview()
不允許自動曝光程序運行的,並可能導致嚴重的過度或曝光不足的圖像。
public void setAutoWhiteBalanceLock (boolean toggle)
設置自動白平衡鎖定狀態。應用程序應該檢查isautowhitebalancelocksupported()
在使用本方法。
如果設置為TRUE,相機自動白平衡程序將立即暫停直至鎖設置為false。
如果自動白平衡已被鎖定,設置為TRUE,又沒有影響(司機不會重新計算白平衡值)。
停止預覽stoppreview()
,或觸發仍然圖像捕捉TakePicture(camera.shuttercallback,camera.picturecallback,相機。picturecallback)
,不會改變鎖。
改變白平衡模式setwhitebalance(字符串)
要設置自動白平衡鎖釋放。
曝光補償,自動曝光鎖定,和AWB鎖可以用來捕獲曝光被突發的圖像,例如。自動白平衡狀態,包括鎖定狀態,不會后保持release()
被稱為。鎖定自動白平衡后open()
但在第一次調用startpreview()
不允許自動白平衡的常規來運行的,並可能導致在捕獲的圖像顏色嚴重錯誤。
public void setExposureCompensation (int value)
設置曝光補償指數。
參數
value | 曝光補償指數。有效值的范圍從getminexposurecompensation() (含)至getmaxexposurecompensation() (含)。0意味着暴露不調整。應用程序應該調用 getminexposurecompensation和getmaxexposurecompensation到知道曝光補償的支持。 |
---|
public void setJpegThumbnailSize (int width, int height)
集的EXIF縮略圖的JPEG圖片的尺寸。如果應用設置寬度和高度為0,不含 EXIF縮略圖。
應用需要考慮的顯示方向。看到setpreviewsize(int,int)
參考。
public void setPictureSize (int width, int height)
設置圖片的尺寸。
應用需要考慮的顯示方向。看到setpreviewsize(int,int)
參考。
public void setPreviewFormat (int pixel_format)
設置預覽照片的圖像格式。
如果這不叫,默認的格式將nv21
,這使用nv21編碼格式。
使用getsupportedpreviewformats()
得到的列表可預覽格式。
這是強烈建議要么nv21
或YV12
使用,因為他們的相機設備支持。
以YV12,接收到的圖像緩沖區不一定緊湊,有可能在每一行的像素數據的端填充物,如YV12
。相機的回調數據,可以假設步幅的Y和紫外,數據是盡可能滿足對齊。那就是,如果預覽的大小寬度x高度然后,方程描述緩沖指數為行開始Y為Y平面和行C為U和V 飛機:
yStride = (int) ceil(width / 16.0) * 16; uvStride = (int) ceil( (yStride / 2) / 16.0) * 16; ySize = yStride * height; uvSize = uvStride * height / 2; yRowIndex = yStride * y; uRowIndex = ySize + uvSize + uvStride * c; vRowIndex = ySize + uvStride * c; size = ySize + uvSize * 2;
參數
pixel_format | 所需的預覽圖片格式,通過一個定義imageformat 常數。(例如,imageformat.nv21(默認),或imageformat.yv12) |
---|
public void setPreviewFpsRange (int min, int max)
最小和最大幀設置預覽。該控制預覽幀的速率接收camera.previewcallback
。最小和最大預覽幀必須是一個元素getsupportedpreviewfpsrange()
。
拋出
RuntimeException | 如果FPS范圍無效。 |
---|
public void setPreviewSize (int width, int height)
設置預覽照片的尺寸。如果預覽已經開始,應用程序應該停止預覽先改變預覽大小。兩側的寬度和高度都是基於 。這是,預覽的大小是在由顯示方向旋轉的大小。這樣的應用需要而設置預覽大小考慮顯示方向。例如,假設相機支持兩480x320和塊的預覽圖片。應用程序要比3:2 預覽。如果顯示方向設置為0或180,預覽大小應設置為480x320。如果顯示方向設置為90或270 ,預覽大小應設置為320x480。顯示取向也應同時設置圖片的大小和縮略圖大小考慮。
public void setRecordingHint (boolean hint)
集記錄模式的提示。這告訴相機,應用的目的是記錄視頻start()
,不采取照片TakePicture(camera.shuttercallback,camera.picturecallback,camera.picturecallback,相機。picturecallback)
。使用這個提示可以允許mediarecorder。start()啟動得更快或在輸出毛刺少。這應該是在最好的結果開始預覽稱,但可以預覽時活性變化。默認值為false。 應用程序仍然可以takepicture()當呼叫提示是真的還是叫 start()時mediarecorder提示。但是性能可能更糟。
參數
hint | 如果應用程序打算錄制視頻的使用mediarecorder 。 |
---|
public void setRotation (int rotation)
集度相對於相機的方向順時針旋轉角度。這會影響 JPEG圖片回來camera.picturecallback
。相機的驅動程序,可以設置定位在EXIF標題沒有旋轉圖片。或驅動程序可能旋轉圖片和EXIF縮略圖。如果JPEG圖片旋轉,在EXIF標題方向將丟失或1(行 # 0頂部和柱# 0左側)。
如果應用程序想旋轉圖像匹配的用戶看到的方向,應用程序應該使用orientationeventlistener
和camera.camerainfo
。從 orientationeventlistener價值是相對的自然定位裝置。camerainfo.orientation之間的角度是攝像機取向和自然的定位裝置。兩個的總和是背對着照相機的旋轉角度。這兩種不同的是旋轉角度為前置攝像頭。請注意,JPEG 的前置攝像頭圖片並不反映在顯示預覽。
例如,假設設備的固有的方向是肖像。該裝置是順時針旋轉270度,使裝置取向是270。假設一個后置的攝像頭傳感器安裝在景觀和相機傳感器的頂邊與自然取向的顯示右邊界對齊。所以攝像機取向是90。轉動應設置為0(270 + 90)。
參考代碼如下。
public void onOrientationChanged(int orientation) { if (orientation == ORIENTATION_UNKNOWN) return; android.hardware.Camera.CameraInfo info = new android.hardware.Camera.CameraInfo(); android.hardware.Camera.getCameraInfo(cameraId, info); orientation = (orientation + 45) / 90 * 90; int rotation = 0; if (info.facing == CameraInfo.CAMERA_FACING_FRONT) { rotation = (info.orientation - orientation + 360) % 360; } else { // back-facing camera rotation = (info.orientation + orientation) % 360; } mParameters.setRotation(rotation); }
拋出
illegalargumentexception | 如果旋轉值無效。 |
---|
public void setSceneMode (String value)
設置場景模式。變化的場景模式可能會覆蓋其他參數(如閃光模式,對焦模式,白平衡)。為的例子,假設原來的閃光模式是在支持Flash 模式開/關。在夜景模式,閃光模式和閃光模式支持的可更改了。在設置的場景模式,程序應該調用getparameters知道一些參數。
public void setVideoStabilization (boolean toggle)
啟用和禁用視頻穩定。使用isvideostabilizationsupported()
要確定是否調用此方法是有效的。
視頻穩定減少因晃動的攝像機運動在兩個預覽流和視頻記錄,包括從預覽回調接收數據。它在不減少運動模糊圖像TakePicture
。
視頻穩定可以啟用在預覽或記錄是活躍的殘疾,但切換可能導致在視頻流可以在錄制的視頻是不可取的一跳。
public void setZoom (int value)
設置縮放值。如果相機放大(值>0),圖片的實際大小可能小於圖片大小設置。應用尺寸后,圖片是返回可以檢查實際的圖片camera.picturecallback
。預覽的大小保持在相同的變焦。應用程序應該檢查iszoomsupported()
在使用這個方法。
參數
value | 變焦值。有效的范圍是0到getmaxzoom() 。 |
---|