Android手電筒、閃光燈、torch、flash

1. 僅開啟手電筒

單純的開啟手電筒我們可以使用CameraManager的.setTorchMode()方法。

cameraCharacteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE)獲取該相機特征是否可獲取閃光燈。

CameraManager cameraManager= (CameraManager) getSystemService(CAMERA_SERVICE);
String cameraIdList[]=cameraManager.getCameraIdList();
String cameraId = null;
for(int i=0;i<cameraIdList.length;i++){CameraCharacteristics cameraCharacteristics=cameraManager.getCameraCharacteristics(cameraIdList[i]);//可獲取閃光燈&&朝向為后置if(cameraCharacteristics.get(CameraCharacteristics.FLASH_INFO_AVAILABLE)&&cameraCharacteristics.get(CameraCharacteristics.LENS_FACING)==CameraCharacteristics.LENS_FACING_BACK){cameraId=cameraIdList[i];break;}
}
//打開手電筒
cameraManager.setTorchMode(cameraId,true);
//關閉手電筒
cameraManager.setTorchMode(cameraId,false);

2. Camer2開啟閃光燈

在Camera2中,我們一般在預覽的捕獲請求中設置開啟或關閉閃光燈,然后向捕獲通道設置新的捕獲請求。

開啟閃光燈:

captureRequestBuilder .set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_TORCH);

關閉閃光燈:

captureRequestBuilder .set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);

Button torch = findViewById(R.id.torch);
torch.setOnClickListener(new View.OnClickListener() {int i = 0;public void onClick(View view) {if (i == 0) {CaptureRequest.Builder captureRequestBuilder_preview = myCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);//設置開啟閃光燈captureRequestBuilder_preview.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_TORCH);captureRequestBuilder_preview.addTarget(surface_surfaceView);//通道設置新循環捕獲請求myCameraCaptureSession.setRepeatingRequest(captureRequestBuilder_preview.build(),null,null);i=1;} else if (i==1) {CaptureRequest.Builder captureRequestBuilder_preview= myCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);//設置關閉閃光燈captureRequestBuilder_preview.set(CaptureRequest.FLASH_MODE, CaptureRequest.FLASH_MODE_OFF);captureRequestBuilder_preview.addTarget(surface_surfaceView);//通道設置新循環捕獲請求myCameraCaptureSession.setRepeatingRequest(captureRequestBuilder_preview.build(),null,null);i=0;}}
});

3. ZXing開啟手電筒

掃碼時經常需要使用手電筒,但是因為ZXing已經啟動了一個相機所以無法使用CameraManager來開啟手電筒有捕獲通道所以也不能使用設置捕獲請求開啟手電筒。

但ZXing中的DecoratedBarcodeView控件類(即com.journeyapps.barcodescanner.DecoratedBarcodeView控件)提供了啟動和關閉手電筒的方法。可以在自定義的Activity中通過DecoratedBarcodeView開關手電筒。

啟動手電筒:.setTorchOn()

關閉手電筒:.setTorchOff()

可以在自定義Activity的onCreate()中使用這些方法。

Button torchButton=findViewById(R.id.torchButton);
torchButton.setOnClickListener(new View.OnClickListener() {int i=0;public void onClick(View view) {if(i==0){//啟動手電筒barcodeScannerView.setTorchOn();i=1;} else if (i==1) {//關閉手電筒barcodeScannerView.setTorchOff();i=0;}}});

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166474.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166474.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166474.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在 vscode 中的json文件寫注釋,不報錯的解決辦法

打開 vscode 的「設置」&#xff0c;搜索&#xff1a;files: associations&#xff0c;然后添加 *.json jsonc最后

Nginx 配置錯誤導致的漏洞

目錄 1. CRLF注入漏洞 Bottle HTTP頭注入漏洞 2.目錄穿越漏洞 3. http add_header被覆蓋 本篇要復現的漏洞實驗有一個網站直接為我們提供了Docker的環境&#xff0c;我們只需要下載下來就可以使用&#xff1a; Docker環境的安裝可以參考&#xff1a;Docker安裝 漏洞環境的…

Docker rm 命令

docker rm&#xff1a;刪除一個或多個容器。 語法&#xff1a; docker rm [OPTIONS] CONTAINER [CONTAINER...]OPTIONS說明&#xff1a; -f&#xff1a;通過SIGKILL信號強制刪除一個運行中的容器。 -l &#xff1a;移除容器間的網絡連接&#xff0c;而非容器本身。 -v &…

2023亞太杯數學建模A題思路代碼分析

已經完成A題完整思路代碼&#xff0c;文末名片查看獲取 A題就是我們機器學習中的一個圖像識別&#xff0c;他是水果圖像識別&#xff0c;就是蘋果識別的一個問題&#xff0c;我們用到的方法基本是使用深度學習中的卷積神經網絡來進行識別和分類 問題一&#xff1a;基于附件1中…

展現天津援疆工作成果 “團結村里看振興”媒體采風團走進和田

央廣網天津11月19日消息(記者周思楊)11月18日&#xff0c;由媒體記者、書法和攝影家、旅行社企業代表等40余人組成的“團結村里看振興”媒體采風團走進新疆和田。在接下來的一周時間里&#xff0c;采風團將走訪天津援疆和田地區策勒縣、于田縣、民豐縣鄉村振興示范村&#xff0…

HTML CSS登錄網頁設計

一、效果圖: 二、HTML代碼: <!DOCTYPE html> <!-- 定義HTML5文檔 --> <html lang="en"> …

在全球碳市場中嶄露頭角的中碳CCNG

在全球氣候治理的大背景下&#xff0c;中國碳中和發展集團有限公司&#xff08;簡稱中國碳中和&#xff09;正在成為全球碳交易市場的一個重要參與者。隨著國際社會對碳排放的日益關注&#xff0c;中國碳中和憑借其在碳資產開發、咨詢與管理等領域的深厚積累&#xff0c;正成為…

acedInitGet 函數

acedInitGet 函數是 AutoCAD 的 C++ API(ObjectARX)中用于初始化下一次用戶輸入操作選項的函數。以下是該函數簽名及其組成部分的中文翻譯和解釋: extern "C" int acedInitGet(int val,const ACHAR * kwl );cpp 復制 extern “C”:指定函數使用 C 語言鏈接(lin…

LeetCode93. Restore IP Addresses

文章目錄 一、題目二、題解 一、題目 A valid IP address consists of exactly four integers separated by single dots. Each integer is between 0 and 255 (inclusive) and cannot have leading zeros. For example, “0.1.2.201” and “192.168.1.1” are valid IP add…

視頻剪輯新招:批量隨機分割,分享精彩瞬間

隨著社交媒體的普及&#xff0c;短視頻已經成為分享生活、交流信息的重要方式。為制作出吸引的短視頻&#xff0c;許多創作者都投入了大量的時間和精力進行剪輯。然而&#xff0c;對于一些沒有剪輯經驗的新手來說&#xff0c;這個過程可能會非常繁瑣。現在一起來看云炫AI智剪批…

楊傳輝:從一體化架構,到一體化產品,為關鍵業務負載打造一體化數據庫

在剛剛結束的年度發布會上&#xff0c;OceanBase正式推出一體化數據庫的首個長期支持版本 4.2.1 LTS&#xff0c;這是面向 OLTP 核心場景的全功能里程碑版本&#xff0c;相比上一個 3.2.4 LTS 版本&#xff0c;新版本能力全面提升&#xff0c;適應場景更加豐富&#xff0c;有更…

web前端之若依框架圖標對照表、node獲取文件夾中的文件名,并通過數組返回文件名、在html文件中引入.svg文件、require、icon

MENU 前言效果圖htmlJavaScripstylenode獲取文件夾中的文件名 前言 需要把若依原有的icon的svg文件拿到哦&#xff01; 注意看生成svg的路徑。 效果圖 html <div id"idSvg" class"svg_box"></div>JavaScrip let listSvg [404, bug, build, …

02 如何快速讀懂一個C++程序

系列文章目錄 02 如何快速讀懂一個C程序 目錄 系列文章目錄 文章目錄 前言 一、C 的基本語法 二、如何看懂一個c程序&#xff1f; 1.了解程序結構 2.C 中的分號 & 語句塊 3.C 注釋 總結 前言 C 是一種高級編程語言&#xff0c;它具有豐富的特性&#xff0c;用于…

CentOS7安裝Docker運行環境

1 引言 Docker 是一個用于開發&#xff0c;交付和運行應用程序的開放平臺。Docker 使您能夠將應用程序與基礎架構分開&#xff0c;從而可以快速交付軟件。借助 Docker&#xff0c;您可以與管理應用程序相同的方式來管理基礎架構。通過利用 Docker 的方法來快速交付&#xff0c;…

11.前綴和、異或前綴和、差分數組練習題

前綴和 前綴和可以用來求滿足條件的子數組的和、個數、長度 更多前綴和題目&#xff1a; 560. 和為 K 的子數組 974. 和可被 K 整除的子數組 1590. 使數組和能被 P 整除 523. 連續的子數組和 525. 連續數組 560. 和為 K 的子數組 中等 給你一個整數數組 nums 和一個整數…

在新疆烏魯木齊的汽車托運

在新疆烏魯木齊要托運的寶! 看過來了 找汽車托運公司了 連夜吐血給你們整理了攻略!! ??以下&#xff1a; 1 網上搜索 可以在搜索引擎或專業的貨運平臺上搜索相關的汽車托運公司信息。在網站上可以了解到公司的服務范圍、托運價格、運輸時效等信息&#xff0c;也可以參考其他車…

2024年的云趨勢:云計算的前景如何?

本文討論了2024年云計算的發展趨勢。 適應復雜的生態系統、提供實時功能、優先考慮安全性和確保可持續性的需求正在引領云計算之船。多樣化的工作負載允許探索通用的公共云基礎設施范例之外的選項。由于需要降低成本、提高靈活性和降低風險&#xff0c;混合云和多云系統越來越受…

RabbitMQ 消息隊列編程

安裝與配置 安裝 RabbitMQ 讀者可以在 RabbitMQ 官方文檔中找到完整的安裝教程&#xff1a;Downloading and Installing RabbitMQ — RabbitMQ 本文使用 Docker 的方式部署。 RabbitMQ 社區鏡像列表&#xff1a;https://hub.docker.com/_/rabbitmq 創建目錄用于映射存儲卷…

YOLOv5 分類模型 預處理 OpenCV實現

YOLOv5 分類模型 預處理 OpenCV實現 flyfish YOLOv5 分類模型 預處理 PIL 實現 YOLOv5 分類模型 OpenCV和PIL兩者實現預處理的差異 YOLOv5 分類模型 數據集加載 1 樣本處理 YOLOv5 分類模型 數據集加載 2 切片處理 YOLOv5 分類模型 數據集加載 3 自定義類別 YOLOv5 分類模型…

Bin、Hex、ELF、AXF的區別

1.Bin Bin文件是最純粹的二進制機器代碼, 或者說是"順序格式"。按照assembly code順序翻譯成binary machine code&#xff0c;內部沒有地址標記。Bin是直接的內存映象表示&#xff0c;二進制文件大小即為文件所包含的數據的實際大小。 BIN文件就是直接的二進制文件&…