導航:首頁 > 操作系統 > androidcameraopen

androidcameraopen

發布時間:2025-05-20 20:53:07

android開發 如何打開前置攝像頭的代碼

找到surficeView
surfaceView = (SurfaceView)findViewById(R.id.surfaceview);
設置它的像素為800x600
surfaceView.getHolder().setFixedSize(800,480);
//下面設置surfaceView不維護自己的緩沖區,而是等待屏幕的渲染引擎將內容推送到用戶面前
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
然後就是回調
surfaceView.getHolder().addCallback(newSurfaceCallback());
上面的回調類是我們自己定義的,代碼如下
private class SurfaceCallback implementsSurfaceHolder.Callback{
@Override
public void surfaceCreated(SurfaceHolderholder) {
try {
camera = Camera.open();//打開硬體攝像頭,這里導包得時候一定要注意是android.hardware.Camera
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);//得到窗口管理器
Display display = wm.getDefaultDisplay();//得到當前屏幕
Camera.Parameters parameters =camera.getParameters();//得到攝像頭的參數
parameters.setPreviewSize(display.getWidth(),display.getHeight());//設置預覽照片的大小
parameters.setPreviewFrameRate(3);//設置每秒3幀
parameters.setPictureFormat(PixelFormat.JPEG);//設置照片的格式
parameters.setJpegQuality(85);//設置照片的質量
parameters.setPictureSize(display.getHeight(),display.getWidth());//設置照片的大小,默認是和屏幕一樣大
camera.setParameters(parameters);
camera.setPreviewDisplay(surfaceView.getHolder());//通過SurfaceView顯示取景畫面
camera.startPreview();//開始預覽
isPreview = true;//設置是否預覽參數為真
} catch (IOException e) {
Log.e(TAG, e.toString());
}
}

@Override
public void surfaceChanged(SurfaceHolderholder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
@Override
public void surfaceDestroyed(SurfaceHolderholder) {
if(camera!=null){
if(isPreview){//如果正在預覽
camera.stopPreview();
camera.release();
}
}
}
}

❷ android如何獲取相機解析度

安卓系統在獲取相機解析度時,可以參考SDK中的API,獲取相機的參數:

Camera.Parameters parameters = camera.getParameters();

獲取預覽的各種解析度:

List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes();

獲取攝像頭支持的各種解析度:

List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes();

例如:獲取照相機參數,設置需要的參數,其餘預設

Camera camera = Camera.open();

Camera.Parameters parameters = camera.getParameters();

設置照片格式:

parameters.setPictureFormat(PixelFormat.JPEG);

設置預瀏尺寸,注意要在攝像頭支持的范圍內選擇:

parameters.setPreviewSize(WIDTH, HEIGHT);

設置照片解析度,注意要在攝像頭支持的范圍內選擇

parameters.setPictureSize(WIDTH, HEIGHT);

設置照相機參數:

camera.setParameters(parameters);

開始拍照:

camera.startPreview();

以上就是獲取相機解析度的步驟。

❸ android 攝像機許可權問題 Camera.open();

直接 try catch 不可以嗎?雖然沒有做到不可用就不用,但是不可用時用了也不會崩潰,可以滿足你的要求,也可以在打不開時添加處理

閱讀全文

與androidcameraopen相關的資料

熱點內容
android百度地圖下載 瀏覽:198
mac不能寫入移動硬碟有沒有什麼命令 瀏覽:631
創建新文件夾怎麼備份 瀏覽:257
我的世界電腦版中國版伺服器下載地址 瀏覽:713
安卓平板為什麼創建下載文件失敗 瀏覽:232
如何快速提高自律app 瀏覽:20
中文單片機程序設計語言 瀏覽:690
為什麼電腦寫程序編譯不了 瀏覽:578
單片機精確計時 瀏覽:127
程序員與ui那個工資高 瀏覽:42
如何把c語言代碼放到編譯器 瀏覽:603
app開發用什麼語言好 瀏覽:313
crmjava開源系統 瀏覽:246
電氣工程師程序員年薪 瀏覽:131
設計院文件加密破解 瀏覽:842
蘋果appstore在哪裡看余額 瀏覽:635
linuxnfs開機掛載 瀏覽:882
godes加密 瀏覽:377
戰狼2什麼時候上映app 瀏覽:659
python運行系統指令 瀏覽:246