當前位置:首頁 » 安卓系統 » android攝像頭預覽

android攝像頭預覽

發布時間: 2022-07-05 10:34:48

⑴ android 相機開發,如何實現在將攝像頭預覽

java術語,意為Java媒體框架(JMF)。該核心框架支持不同媒體(如:音頻輸出和視頻輸出)間的時鍾同步。它是一個標準的擴展框架,允許用戶製作純音頻流和視頻流。 JMF實際上是Java的一個類包。JMF 2.1.1技術提供了先進的媒體處理能力,從而擴展了Java平台的功能。這些功能包括:媒體捕獲、壓縮、流轉、回放,以及對各種主要媒體形式和編碼的支 持,如M-JPEG、H.263、MP3、RTP/RTSP (實時傳送協議和實時流轉協議)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1還支持廣受歡迎的媒體類型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1軟體中包括了一個開放的媒體架構,可使開發人員靈活採用各種媒體回放、捕獲組件,或採用他們自己的定製的內插組件。 JMF教程.rar大小:68.82M所需財富值:5 已經過網路安全檢測,放心下載 點擊下載下載量:12

⑵ Android 如何實現攝像頭不進行預覽顯示,只獲取視頻流數據

好像是強制要求有預覽的,安全問題,比如偷窺什麼的所以不允許無預覽畫面的使用攝像頭

⑶ android camera2 用surfaceview輸出預覽圖像畫面拉長

項目當中遇到調整攝像頭位置需要全屏顯示攝像頭預覽界面,過程中發現預覽界面存在無法顯示全,畫面被拉伸的問題。surfaceview的寬高比可能與camera設置的寬高比不一致 ,經測試發現設置Camera 預覽寬高可解決此問題(注意這里設置屏幕物理寬高不起作用,必須設置屏幕解析度)
////通過Resources獲取(無效)
// DisplayMetrics dm = getResources().getDisplayMetrics();
// heigth = dm.heightPixels;
// width = dm.widthPixels;
//獲取屏幕的默認解析度 設置預覽界面長寬解決預覽界面變形顯示不全問題(有效)
Display display = getWindowManager().getDefaultDisplay();
int height = display.getWidth();
int width = display.getHeight();
Camera.Size preSize = CameraUtil.getCloselyPreSize( true , width, height, parameters.getSupportedPreviewSizes());
parameters.setPreviewSize(preSize.width, preSize.height);
Log.e(TAG + "攝像頭尺寸前置" , "width" + preSize.width + "------" + "height" + preSize.height);
camera2.setParameters(parameters);
// 啟動攝像頭預覽
camera2.startPreview();
System.out.println( "camera.startpreview" );

⑷ android camera預覽關閉後還可以再次打開嗎

activity pause過後恢復我們以前是這樣做的,Camera對象需要重新生成
在onPause的時候,調用如下方法(已經刪除其他跟我們項目相關的邏輯代碼)
/**
* 停止顯示相機畫面</br>
* 若設置了錄制器,會自動關閉錄制器
*/
public void stopPreview() {
synchronized (mCameraLock) {
if (mCamera != null) {
mCamera.setPreviewCallback(null);
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}
}
}

然後在onResume時,重新獲得Camera對象(通過Camera.open()),
再重新設置previewCallback,SurfaceHolder,Parameters等,最後startPreview
這里可以提醒一下LZ,
打開攝像頭的時間可能會很長,勿在主線程直接打開,否則會有概率出ANR
攝像頭根據設備的不同可能在打開時經常會拋各種異常,記得try,catch

⑸ 為什麼android攝像頭預覽出來是亂的

打開攝像頭預覽(不包含拍照功能),你可以按照下面辦法試試。

整個預覽的流程是建立一個surface,獲取surface得控制器surfaceholder,設立surface的窗口previewdisplay,最後開始預覽startpreview。當然最後還要添加相機相關的許可權。

packagecom.example.trysurface;

importjava.io.IOException;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.view.Menu;

importandroid.view.Surface;

importandroid.view.SurfaceHolder;

importandroid.view.View;

importandroid.view.SurfaceHolder.Callback;

importandroid.view.SurfaceView;

importandroid.widget.Button;

importandroid.widget.ImageView;

importandroid.widget.LinearLayout;

importandroid.hardware.Camera;

{

SurfaceViewmSurface;

SurfaceHoldermSurfaceHolder;

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mSurface=(SurfaceView)findViewById(R.id.camera);

mSurfaceHolder=mSurface.getHolder(); //get the camera holder

mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

mSurfaceHolder.addCallback(newCallback(){

@Override

publicvoidsurfaceChanged(SurfaceHolder arg0,intarg1,intarg2,

intarg3) {

//TODOAuto-generated method stub

}

@Override

publicvoidsurfaceCreated(SurfaceHolder arg0) {

//TODOAuto-generated method stub

mCamera=Camera.open(); //open camera

try{

mCamera.setPreviewDisplay(mSurfaceHolder); //set the preview

}catch(IOException e) {

//TODOAuto-generated catch block

e.printStackTrace();

}

mCamera.startPreview(); //state preview

}

@Override

publicvoidsurfaceDestroyed(SurfaceHolder arg0) {

//TODOAuto-generated method stub

}

}

);

}

}

布局

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

<SurfaceView

android:id="@+id/camera"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_weight="1"

>

</SurfaceView>

</LinearLayout>

許可權

<uses-permissionandroid:name="android.permission.CAMERA"/>

<uses-featureandroid:name="android.hardware.camera"/>

<uses-featureandroid:name="android.hardware.camera.autofocus"/>

⑹ Android開發怎麼調用攝像頭功能

1、現在Android智能手機的像素都會提供照相的功能,大部分的手機的攝像頭的像素都在1000萬以上的像素,有的甚至會更高。它們大多都會支持光學變焦、曝光以及快門等等。下面的程序Demo實例示範了使用Camera v2來進行拍照,當用戶按下拍照鍵時,該應用會自動對焦,當對焦成功時拍下照片。layout/activity_main.xml界面布局代碼如下:

3、接來了的MainActivity.java程序將會使用CameraManager來打開CameraDevice,並通過CameraDevice創建CameraCaptureSession,然後即可通過CameraCaptureSession進行預覽或拍照了。

⑺ android 軟體開發 前後置攝像頭可以同時打開預覽嗎

//切換鏡頭
public void switchCamera(SurfaceView surfaceView, boolean isFrontCamera) {
if (mCamera != null) {
mCamera.stopPreview();
mCamera.release();
mCamera = null;
}

int cameraId = isFrontCamera ? CAMERA_FACING_FRONT : CAMERA_FACING_BACK;// CAMERA_FACING_FRONT為前置攝像頭
// 在2.3版本中應該這么寫
// int numCamera = Camera.getNumberOfCameras();
// CameraInfo info = new CameraInfo();
// for(int i = 0;i< numCamera;i++){
// Camera.getCameraInfo(i, info);
// if(info.facing == CameraInfo.CAMERA_FACING_BACK){
// cameraId = i;
// }
// }
mCamera = open(cameraId);
Parameters parameters = mCamera.getParameters();
Log.e("tag", "parameters.getPictureSize()"
+ parameters.getPictureSize().width);
setPictureSize(parameters);

parameters.setPictureFormat(PixelFormat.JPEG);
mCamera.setParameters(parameters);
Log.e("tag", "2 parameters.getPictureSize()"
+ parameters.getPictureSize().width);
setDisplayOrientation(mCamera);
try {
mCamera.setPreviewDisplay(mHolder);
mCamera.startPreview();
} catch (IOException e) {
e.printStackTrace();
}
}

⑻ android framework層如何調用攝像頭預覽畫面,想做一個自定義鎖屏頁面,進行人臉識別解鎖。

在設置中就有

⑼ android 開發 如何打開攝像頭並在屏幕上預覽,同時程序在後台對當前的屏幕內容進行截圖並上傳到指定服務

不知你用的什麼型號MOTO 在連上電腦時通知欄里會有一個USB 圖標點開會有選項,選擇攝像頭就可以使手機變為網路攝像頭了,然後可以在我的電腦里找到圖標可以直接在電腦上預覽

⑽ Android攝像頭非全屏預覽,怎麼保證圖像不變形

用surfaceview可以設置預覽窗口的大小和位置
然後用setpreviewsize設置攝像頭圖像的大小,大小和surfaceview一致就可以

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:629
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:357
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:76
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:300
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:788
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:338
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:204
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:801
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:357
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:583