HarmonyOS:相機選擇器

一、概述

相機選擇器提供相機拍照與錄制的能力。應用可選擇媒體類型實現拍照和錄制的功能。調用此類接口時,應用必須在界面UIAbility中調用,否則無法啟動cameraPicker應用。

說明
本模塊首批接口從API version 11開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。

二、導入模塊

import { cameraPicker as picker } from '@kit.CameraKit';
2.1 cameraPicker.pick

pick(context: Context, mediaTypes: Array<PickerMediaType>, pickerProfile: PickerProfile): Promise<PickerResult>

拉起相機選擇器,根據媒體類型進入相應的模式。操作結束通過Promise形式獲取結果。

元服務API: 從API version 12開始,該接口支持在元服務中使用。

系統能力: SystemCapability.Multimedia.Camera.Core

參數:

參數名類型必填說明
contextContext應用上下文。
mediaTypesArray<PickerMediaType>媒體類型。
pickerProfilePickerProfilepickerProfile對象。

返回值:

類型說明
Promise<PickerResult>使用Promise方式獲取相機選擇器的處理結果。返回值為PickerResult。

效果圖

在這里插入圖片描述

示例代碼

import { cameraPicker as picker } from '@kit.CameraKit';
import { camera } from '@kit.CameraKit';
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let mContext = getContext(this) as common.Context;async function testCameraPicker() {try {let pickerProfile: picker.PickerProfile = {cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK};let pickerResult: picker.PickerResult = await picker.pick(mContext,[picker.PickerMediaType.PHOTO, picker.PickerMediaType.VIDEO], pickerProfile);console.log("相機選擇器的處理結果 pickerResult is:" + JSON.stringify(pickerResult));} catch (error) {let err = error as BusinessError;console.error(`相機選擇器的處理結果 失敗. 錯誤碼 code: ${err.code}`);}
}

三、PickerMediaType

枚舉,相機選擇器的媒體類型。

元服務API: 從API version 12開始,該接口支持在元服務中使用。

系統能力: SystemCapability.Multimedia.Camera.Core

名稱說明
PHOTOphoto拍照模式
VIDEOvideo錄制模式

四、PickerProfile

相機選擇器的配置信息。

元服務API: 從API version 12開始,該接口支持在元服務中使用。

系統能力: SystemCapability.Multimedia.Camera.Core

名稱類型必填說明
cameraPositioncamera.CameraPosition相機的位置。
saveUristring保存配置信息的uri,默認值請參考文件uri。
videoDurationnumber錄制的最大時長(單位:秒)。

五、PickerResult

相機選擇器的處理結果。

元服務API: 從API version 12開始,該接口支持在元服務中使用。

系統能力: SystemCapability.Multimedia.Camera.Core

名稱類型必填說明
resultCodenumber處理的結果,成功返回0,失敗返回-1。
resultUristring返回的uri地址。若saveUri為空,resultUri為公共媒體路徑。若saveUri不為空且具備寫權限,resultUri與saveUri相同。若saveUri不為空且不具備寫權限,則無法獲取到resultUri。
mediaTypePickerMediaType返回的媒體類型。

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

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

相關文章

牛客AI簡歷篩選:提升招聘效率的智能解決方案

在競爭激烈的人才市場中&#xff0c;企業HR每天需處理海量簡歷&#xff0c;面臨篩選耗時長、標準不統一、誤判率高等痛點。牛客網推出的AI簡歷篩選工具&#xff0c;以“20分鐘處理1000份簡歷、準確率媲美真人HR”的高效表現&#xff0c;成為企業招聘的智能化利器。本文將深度解…

白楊SEO:做AI搜索優化的DeepSeek、豆包、Kimi、百度文心一言、騰訊元寶、通義、智譜、天工等AI生成內容信息采集主要來自哪?占比是多少?

大家好&#xff0c;我是白楊SEO&#xff0c;專注SEO十年以上&#xff0c;全網SEO流量實戰派&#xff0c;AI搜索優化研究者。 在開始寫之前&#xff0c;先說個抱歉。 上周在上海客戶以及線下聚會AI搜索優化分享說各大AI模型的聯網搜索是關閉的&#xff0c;最開始上來確實是的。…

QML與C++交互2

在QML與C的交互中&#xff0c;主要有兩種方式&#xff1a;在C中調用QML的方法和在QML中調用C的方法。以下是具體的實現方法。 在C中調用QML的方法 首先&#xff0c;我們需要在QML文件中定義一個函數&#xff0c;然后在C代碼中調用它。 示例 //QML main.qml文件 import QtQu…

OpenGL Chan視頻學習-8 How I Deal with Shaders in OpenGL

bilibili視頻鏈接&#xff1a; 【最好的OpenGL教程之一】https://www.bilibili.com/video/BV1MJ411u7Bc?p5&vd_source44b77bde056381262ee55e448b9b1973 函數網站&#xff1a; docs.gl 說明&#xff1a; 1.之后就不再整理具體函數了&#xff0c;網站直接翻譯會更直觀也…

動態防御新紀元:AI如何重構DDoS攻防成本格局

1. 傳統高防IP的靜態瓶頸與成本困境 傳統高防IP依賴預定義規則庫&#xff0c;面對SYN Flood、CC攻擊等威脅時&#xff0c;常因規則更新滯后導致誤封合法流量。例如&#xff0c;某電商平臺曾因靜態閾值過濾誤封20%的訂單接口流量&#xff0c;直接影響營收。以下代碼模擬傳統方案…

如何實現高性能超低延遲的RTSP或RTMP播放器

隨著直播行業的快速發展&#xff0c;RTSP和RTMP協議成為了廣泛使用的流媒體傳輸協議&#xff0c;尤其是在實時視頻直播領域&#xff0c;如何構建一個高性能超低延遲的直播播放器&#xff0c;已經成為了決定直播平臺成功與否的關鍵因素之一。作為音視頻直播SDK技術老兵&#xff…

UE5 編輯器工具藍圖

文章目錄 簡述使用方法樣例自動生成Actor&#xff0c;并根據模型的包圍盒設置Actor的大小批量修改場景中Actor的屬性&#xff0c;設置Actor的名字&#xff0c;設置Actor到指定的文件夾 簡述 使用編輯器工具好處是可以在非運行時可以對資源或場景做一些操作&#xff0c;例如自動…

解鎖5月游戲新體驗 高速電腦配置推薦

很多玩家用戶會發現一個規律&#xff0c;618大促前很多商家會提前解鎖各種福利&#xff0c;5月選購各種電腦配件有時候會更劃算&#xff01;并且&#xff0c;STEAM在5月還有幾個年度主題促銷&#xff0c;“生物收集游戲節”、“僵尸大戰吸血鬼游戲節”等等&#xff0c;配件大促…

干貨|VR全景是什么?

VR全景技術解析&#xff1a;概念、特點與用途 VR全景&#xff0c;全稱為虛擬現實全景技術&#xff08;Virtual Reality Panorama Technology&#xff09;&#xff0c;是基于虛擬現實&#xff08;Virtual Reality,VR&#xff09;技術的創新展示方式。VR全景技術利用專業的拍攝設…

Nacos適配GaussDB超詳細部署流程,通過二進制包、以及 Docker 打通用鏡像包部署保姆級教程

1部署openGauss 官方文檔下載 https://support.huaweicloud.com/download_gaussdb/index.html 社區地址 安裝包下載 本文主要是以部署輕量級為主要教程,系統為openEuler,ip: 192.168.1.15 1.1系統環境準備 操作系統選擇 系統AARCH64X86-64openEuler√√CentOS7√Docker…

MySQL 表內容的增刪查改 -- CRUD操作,聚合函數,group by 子句

目錄 1. Create 1.1 語法 1.2 單行數據 全列插入 1.3 多行數據 指定列插入 1.4 插入數據否則更新數據 1.5 替換 2. Retrieve 2.1 SELECT 列 2.1.1 全列查詢 2.1.2 指定列查詢 2.1.3 查詢字段為表達式 2.1.4 為查詢結果指定別名 2.1.5 結構去重 2.2 WHERE 條件 …

LabVIEW累加器標簽通道

主要展示了 Accumulator Tag 通道的使用&#xff0c;通過三個并行運行的循環模擬不同數值的多個隨機序列&#xff0c;分別以不同頻率向累加器寫入數值&#xff0c;右側循環每秒讀取累加器值&#xff0c;同時可切換查看每秒內每次事件的平均值&#xff0c;用于演示多線程數據交互…

【iOS】源碼閱讀(五)——類類的結構分析

文章目錄 前言類的分析類的本質objc_class 、objc_object和NSObjectobjc_object&#xff1a;所有對象的基類型objc_class&#xff1a;類的底層結構NSObject&#xff1a;面向用戶的根類 小結 指針內存偏移普通指針----值拷貝對象----指針拷貝或引用拷貝用數組指針引出----內存偏…

Baklib構建企業CMS高效協作與安全管控體系

企業CMS高效協作體系構建 基于智能工作流引擎的設計邏輯&#xff0c;現代企業內容管理系統通過預設多節點審核路徑與自動化任務分配機制&#xff0c;有效串聯市場、技術、法務等跨部門協作鏈路。系統支持多人同時編輯與版本追溯功能&#xff0c;結合細粒度權限管控模塊&#x…

Linux環境變量與地址空間

哈嘍&#xff0c;各位Linux初學者們&#xff01;今天咱們來聊聊Linux中那兩個看起來很高大上但實際上跟我們日常使用息息相關的概念&#xff1a;環境變量和地址空間。別被這些術語嚇到&#xff0c;我會用最接地氣的方式給你解釋清楚&#xff01; 一、環境變量&#xff1a;Linu…

Oracle SHARED POOL的SUB POOL技術

從Oracle 9i開始&#xff0c;SHARED POOL可以分為多個SUB POOL&#xff0c;其數量受以下幾個因素影響&#xff1a; ?系統CPU的數量。默認情況下&#xff0c;在Oracle中每4個CPU分配一個SUB POOL&#xff0c;最多不能超過7個。 ?共享池的大小。SUB POOL的最小容量隨著Oracle版…

Collection集合遍歷的三種方法

1.foreach循環遍歷 格式&#xff1a;for&#xff08;元素的數據類型 變量名&#xff1a;數組或集合&#xff09;{ } 2.使用迭代器遍歷 方法名稱&#xff1a;Iterator<E> iterator&#xff08;&#xff09; 說明&#xff1a;返回集合中的迭代器對象&#xff0c;該迭代…

頭歌之動手學人工智能-Pytorch 之autograd

目錄 第1關&#xff1a;Variable 任務描述 編程要求 測試說明 沒有偉大的愿望&#xff0c;就沒有偉大的天才。——巴爾扎克開始你的任務吧&#xff0c;祝你成功&#xff01; 第2關&#xff1a;Variable 屬性 任務描述 編程要求 測試說明 真正的科學家應當是個幻想家&a…

篇章二 數據結構——前置知識(二)

目錄 1. 包裝類 1.1 包裝類的概念 1.2 基本數據類型和對應的包裝類 1.3 裝箱和拆箱 1.4 自動裝箱和自動拆箱 1.5 練習 —— 面試題 2. 泛型 2.1 如果沒有泛型——會出現什么情況&#xff1f; 2.2 語法 2.3 裸類型 1.沒有寫<> 但是沒有報錯為什么&#xff1f; …

Git典型使用場景相關命令

Git典型使用場景相關命令 1 建立本地倉庫與遠程倉庫的聯系2 作為開發者參與項目的常用命令2-1 一般步驟2-2 **合并與同步主分支改動**2-3 **查看日志和差異**2-4 **提交后想修改或撤銷**2-5 分支管理2-6 清除未被追蹤的文件&#xff08;謹慎使用&#xff09; 3 作為遠程倉庫管理…