導航:首頁 > 操作系統 > android調用前置相機

android調用前置相機

發布時間:2023-01-23 12:15:53

android如何調用前置攝像頭拍照系統自帶的相機可以做到嗎

包括,攝像頭的調用無論前後都時一樣的,但是調用一般是後攝像頭,而前攝像頭在拍照里一般可以調用,其他通常情況下不會使用前攝像頭(安全有許可權管理,可以自己屏蔽或限制的功能(希望能幫到你))

㈡ 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();
}
}
}
}

㈢ 為什麼我手機前置攝像頭不好使

有可能是以下幾點原因:
1、Android系統要求同時只能有一個應用打開攝像頭,當另外一個應用打開攝像頭,相機攝像頭將無法打開。可以將相機相關的應用先關閉,再進入相機嘗試;
2、相機設備屬於敏感的功能設備,是否您之前禁用過該應用的使用許可權。您可以在路徑設置:
EMUI8.X:設置 > 應用和通知 > 許可權管理,調用攝像頭中查看是否禁用了應用對攝像頭的訪問許可權。請根據實際情況,允許調用攝像頭。
EMUI9.0:設置 > 應用> 許可權管理,調用攝像頭中查看是否禁用了應用對攝像頭的訪問許可權。請根據實際情況,允許調用攝像頭。
3、若無法解決,請按照下面建議進行操作。
a、清除相機數據:
EMUI 4.0及以上平台:在主屏幕,點擊「設置 >(應用和通知)> 應用管理 > 相機 > 存儲」,然後點擊「刪除 數據」或「清空緩存」。
EMUI 9.0及以上平台:在主屏幕,點擊「設置 >應用> 應用管理 > 相機 > 存儲」,然後點擊「刪除數據」或「清空緩存」。
b、請重啟手機後再次嘗試。
c、請備份重要數據後將手機恢復出廠設置或升級最新系統版本後重試。
d、如果以上操作仍無法解決問題,請您備份好重要數據,攜帶購機發票前往服務網點檢修。

㈣ 如何直接調用安卓Android的系統相機的前置攝像頭

1、在手機的設置裡面去找相機的設置,
在照相的功能下也可以在選項裡面找到更換攝像頭的選項,
一般都是按左鍵出來選單的。
2、在手機菜單裡面勾選攝像頭選項,切換到你想要的攝像頭,然後把那個屏幕切換一下,豎屏或橫屏;
3、你若是在找不到就到手機鋪裡面找售後維修或者在照片拍攝好後,在電腦上面把使用那個圖像管理器把圖片,點擊那個轉換頭,讓圖片正過來。

㈤ 為很么在Android程序中調用前置攝像頭獲得的預覽圖像旋轉了一百八十度註:在系統相機中是正常的

你把這個軟體放在其他手機上照相試下,如果還是那樣,那就是你下載的軟體有問題。

㈥ 求高手提供完美解決方法大多單攝像頭android打開前置攝像頭失敗的問題(主解決榮耀7i方法)

1、在搜索框中直接輸入相機搜索。
2、然後搜索結果中點擊相機打開。
3、打開攝像頭以後,就可以進行拍照或者攝像操作了。
方法二:
1、點擊開始菜單所有應用中找到相機,直接點擊打開。

㈦ 華為手機相機前置攝像頭無法打開怎麼辦

如果您使用的是華為手機,您的相機無法打開,請您按照以下步驟排查:1.檢查更新請提前備份好數據(QQ、微信等第三方應用需單獨備份)升級您的手機至最新系統版本,手機系統版本更新會對手機的性能進行優化和升級。2.三方應用無法打開相機如果手機自帶相機可以打開,但是第三方應用無法打開相機,可能是三方應用未獲取到相機許可權。建議您進入設置,搜索進入許可權管理,在許可權頁簽,點擊調用攝像頭/相機,開啟對應應用的相機許可權。3.系統自帶相機無法打開系統自帶相機無法打開請您按照以下方法嘗試解決:(1)檢查是否有其他應用打開了相機系統要求同時只能有一個應用打開相機,當另外一個應用打開相機,相機攝像頭將無法打開。部分應用由於自身設計原因可能未及時釋放相機,如手電筒、二維碼掃描等程序。您可以將相機相關的應用先關閉,再進入相機嘗試。如果無法判斷是什麼應用,可以重啟手機後再進入相機重試。(2)清除相機數據進入設置,搜索應用管理,找到相機,點擊存儲 > 刪除數據。(此操作並不會刪除圖庫照片,僅還原相機設置)(3)使用「智能檢測」功能檢測攝像頭請您在手機上我的華為APP上進行檢測:進入我的華為APP>服務,點擊我要檢測 > 進入檢測,根據手機提示完成檢測。如果是攝像頭硬體問題,請您備份好數據(QQ、微信等第三方應用需單獨備份),攜帶購機憑證前往華為客戶服務中心檢測。(4)將設備恢復出廠設置請提前備份好數據(QQ、微信等第三方應用需單獨備份),進入設置,搜索恢復出廠設置,按照手機界面提示完成恢復出廠設置操作。如果以上操作仍無法解決問題,請您備份好數據(QQ、微信等第三方應用需單獨備份),攜帶購機憑證前往華為客戶服務中心檢測。

㈧ android8.1平板電腦怎麼切換前置攝像頭

點開相機以後右下角有個圓圈,點開那個就有切換攝像頭的選項。

㈨ android 前置攝像頭可以autofocus嗎

android 前置攝像頭可以autofocus方法:
第一:最常見的實現---利用按鍵或拍照前一次性自動聚焦在Activity里申明變數private
AutoFocusCallback myAutoFocusCallback = null;然後
自動聚焦變數回調

myAutoFocusCallback = new AutoFocusCallback()
{

public void onAutoFocus(boolean success, Camera
camera) {

// TODO Auto-generated method stub

if(success)//success表示對焦成功

{

Log.i(tag, "myAutoFocusCallback:
success...");

//myCamera.setOneShotPreviewCallback(null);

}

else

{

//未對焦成功

Log.i(tag, "myAutoFocusCallback: 失敗了...");

}

}

};

在Camera.startPreview()之後,拍照Camera.takePicture()
之前調用myCamera.autoFocus(myAutoFocusCallback)。

第二:
通過TimerTask設置一個定時器來循環,每隔一定時間調用myCamera.autoFocus(myAutoFocusCallback)一次。結果是攝像頭一直在自我聚焦,重復清晰--模糊----清晰---模糊的過程。

第三:通過Handler和Thread,開啟一個線程進行自動聚焦。本質和第二種是一樣的。後續我會寫一個demo發上來。

第四:
通過監聽感測器來觸發autoFocus。常用的是角度感測器或加速度感測器,當監聽的值超過一定閾值時觸發。這也是國外程序員們常用的思路。

第五:設置聚焦方式為myParam.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
Continuous auto focus mode intended for video
recording. The camera continuously tries to focus. This is the best
choice for video recording because the focus changes smoothly .
Applications still can call takePicture(Camera.ShutterCallback,
Camera.PictureCallback,
Camera.PictureCallback) in this mode
but the subject may not be in focus. Auto focus starts when the
parameter is set.
Since API level 14, applications can
call autoFocus(AutoFocusCallback) in
this mode. The focus callback will immediately return with a
boolean that indicates whether the focus is sharp or not. The focus
position is locked after autoFocus call. If applications want to
resume the continuous focus, cancelAutoFocus must be called.
Restarting the preview will not resume the continuous autofocus. To
stop continuous focus, applications should change the focus mode to
other modes.
意思是在錄像的時候調用這種聚焦方式好,在拍照情況下這種聚焦方式可能不成功。
設置之後myParam.set("rotation",
90);
這句話的設置不起作用。拍攝得到的照片和預覽的方向是錯90度的。需要得到Bitmap之後,利用Matrix自己旋轉下。
旋轉示例:mBitmap = BitmapFactory.decodeByteArray(data, 0,
data.length);//data是位元組數據,將其解析成點陣圖myCamera.stopPreview();isPreview = false;
設置FOCUS_MODE_CONTINUOUS_VIDEO)之後,myParam.set("rotation",
90)失效。圖片竟然不能旋轉了,故這里要旋轉下
Matrix matrix = new Matrix();
matrix.postRotate((float)90.0);
Bitmap rotaBitmap = Bitmap.createBitmap(mBitmap,
0, 0, mBitmap.getWidth(), mBitmap.getHeight(), matrix,
false);
設置成FOCUS_MODE_CONTINUOUS_VIDEO之後,再調用Camera.autoFocus()會聚焦失敗。

第六: 就是通過分析onPreviewFrame得到預覽幀視頻,分析亮度變化,來觸Camera.autoFocus()。如果亮度變化,肯定是攝像頭和被拍攝物體之間發生了相對運動,需要觸發autoFocus()。某些手機里自帶的
拍照軟體可能就是採用這種方式。

㈩ 如何直接調用安卓Android的系統相機的前置

一種方式是採用MediaStore,調用系統原生的相機。

閱讀全文

與android調用前置相機相關的資料

熱點內容
給編譯原理論文起個題目 瀏覽:143
手機app底色變紅了該怎麼辦 瀏覽:524
flash命令行 瀏覽:666
反詐騙app怎麼找回密碼 瀏覽:631
java方法和函數 瀏覽:420
程序員衣服穿反 瀏覽:959
java多類繼承 瀏覽:159
怎麼用多玩我的世界連接伺服器地址 瀏覽:483
為什麼華為手機比安卓流暢 瀏覽:177
javamap多線程 瀏覽:228
卡西歐app怎麼改時間 瀏覽:843
jquery壓縮圖片 瀏覽:970
用紙筒做解壓東西 瀏覽:238
神奇寶貝伺服器如何tp 瀏覽:244
雲伺服器支持退貨嗎 瀏覽:277
貸款等額本息演算法 瀏覽:190
根伺服器地址配置 瀏覽:501
單片機是軟體還是硬體 瀏覽:624
vivo手機怎麼看編譯編號 瀏覽:320
塑鋼扣條演算法 瀏覽:301